记录 Docker 在 CentOS 7 版本上的安装流程。
使用 Docker 仓库进行安装
设置 Docker 仓库,从仓库中更新 Docker。
设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2.
1 | $ sudo yum install -y yum-utils \ |
配置一个仓库进行下载安装。
1. 官方仓库(国外比较慢)
1 | $ sudo yum-config-manager \ |
2. 阿里云
1 | $ sudo yum-config-manager \ |
3. 清华大学源
1 | $ sudo yum-config-manager \ |
安装 Docker Engine-Community
安装最新版本的 Docker Engine-Community 和 containerd.1
$ sudo yum install docker-ce docker-ce-cli containerd.io
安装特定版本
1. 查看版本列表
1 | $ yum list docker-ce --showduplicates | sort -r |
输出结果:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror, langpacks
Installed Packages
docker-ce.x86_64 3:20.10.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.12-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.12-3.el7 @docker-ce-stable
docker-ce.x86_64 3:20.10.11-3.el7 docker-ce-stable
docker-ce.x86_64 3:20.10.10-3.el7 docker-ce-stable
2. 选择特定版本
通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-20.10.9.
1 | # 格式: sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io |
启动 Docker
1 | $ sudo systemctl start docker |
验证是否启动成功。
1 | $ sudo docker run hello-world |
卸载 Docker
1. 删除安装包
1 | yum remove docker-ce |
2. 删除 Docker 根目录
1 | rm -rf /var/lib/docker |
更改 Docker 根目录
默认情况下,Docker 的根目录设置为 /var/lib/docker, 在该目录下会存放镜像及容器数据,会大量占用系统根目录的空间,较为合理的方式是将目录挂载到数据盘上。
查看默认目录
1 | $ docker info |
可以看到 Docker 根目录为 /var/lib/docker
修改根目录
官方文档推荐的方式是 /etc/docker/daemon.json 文件,该文件默认没有创建,在该文件加入下面的内容:
1 | { |
修改后重启 Docker 生效。
Docker 镜像加速
国内从 DockerHub 拉取镜像速度会比较慢,可以配置国内的镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
- 科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
在 /etc/docker/daemon.json 中加入如下内容可以设置镜像加速器。
1 | { |
碰到的问题
无法正常停止 Docker 进程
执行 systemctl stop docker
命令后,不能停止 Docker 进程,提示如下警告信息:
1 | Warning: Stopping docker.service, but it can still be activated by: |
解决办法:
停止 docker socket
1. 停止服务1
2
3# 停止 docker 服务
sudo systemctl stop docker.socket
sudo systemctl stop docker.service
2. 重启服务1
2
3# 启动 docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker.service
参考: