Docker 简介
Docker 是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。
Docker 通常用于如下场景:
- web 应用的自动化打包和发布;
- 自动化测试和持续集成、发布;
- 在服务型环境中部署和调整数据库或其他的后台应用;
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
安装 Curl
使用 APT 包管理工具安装 cURL:sudo apt install -y curl
安装 Docker
官方已经给出了适合 Linux 平台的自动安装脚本。因此想要安装 Docker,只需要运行下面的命令:
1 | curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun |
在上面的命令中,我们添加了参数—mirror 以使用国内的安装包镜像。
添加 Docker Hub 镜像加速
创建 daemon.json 文件
创建配置文件,sudo vi /etc/docker/daemon.json
,添加镜像服务地址。腾讯云镜像的配置如下:
1 | { |
重新启动 Docker
1 | sudo systemctl daemon-reload |
测试
docker version
Hello World
运行下面的命令,将 image 文件从仓库抓取到本地。docker pull library/hello-world
上面代码中,docker image pull 是抓取 image 文件的命令。library/hello-world 是 image 文件在仓库里面的位置,其中 library 是 image 文件所在的组,hello-world 是 image 文件的名字。抓取成功以后,就可以在本机看到这个 image 文件了。
1 | docker images |
现在,运行这个 image 文件。
1 | docker run hello-world |
输出这段提示以后,hello world就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如Mysql镜像等。
常用命令
除过以上我们使用的 Docker 命令外,Docker 还有一些其它常用的命令
- 拉取 docker 镜像
docker pull image_name
- 查看宿主机上的镜像,Docker 镜像保存在 /var/lib/docker 目录下:
docker images
- 删除镜像:
docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30
- 查看当前有哪些容器正在运行:
docker ps
- 查看所有容器
docker ps -a
- 启动、停止、重启容器命令:
1
2
3docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id - 动一个容器后,如果想进入到这个容器,可以使用 attach 命令:
docker attach container_name/container_id
- 删除容器的命令:
docker rm container_name/container_id
- 查看当前系统 Docker 信息:
docker info
- 从 Docker hub 上下载某个镜像:执行 docker pull centos 会将 Centos 这个仓库下面的所有镜像下载到本地 repository。
1
docker pull centos:latest