之前在公司的云主机上安装过,今天在自己的阿里云 ECS 上安装,还得再去翻看官方文档,为了方便记录,对 官方文档 进行了简单翻译。
虽然就几条命令,也可以扩展并深入,里面也提到了比较底层的部分,比如存储驱动 overlay2
,有兴趣可以深入一下。
安装的先决条件
- 维护版的 CentOS 7。
-
centos-extras
必须是激活状态。默认是激活的,如果被关闭了,需要重新激活。 - 现在推荐使用的存储驱动是
overlay2
,之前是aufs
。
卸载旧版本
旧版本的 Docker 叫做 docker
或 docker-engine
。如果有安装它们,执行以下命令来卸载它及其依赖项:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
保留 /var/lib/docker/
的内容,包括镜像、容器、卷 和网络。Docker CE 的包目前叫做 docker-ce
。
安装 Docker CE
有几种不同的安装方式,这里介绍如何使用库安装。安装这些库之后,可以从这些库来安装和更新 Docker。
设置库
-
安装所需包。
yum-utils
提供yum-config-manager
工具,devicemapper
存储驱动还需要device-mapper-persistent-data
和lvm2
。$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
-
以下命令安装稳定版本。注意,任何时候都需要稳定版本库,即使想安装 edge 或 test 版本的 docker。
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
-
可选:激活 edge 和 test 库。它们包含在
docker.repo
中,默认是关闭的。可以与稳定库一起激活:$ sudo yum-config-manager --enable docker-ce-edge $ sudo yum-config-manager --enable docker-ce-test
可以用以下命令关闭 edge 版本(用
--enable
来激活):$ sudo yum-config-manager --disable docker-ce-edge
安装 Docker CE
-
安装最新版本:
$ sudo yum install docker-ce
如果提示接受 GPG 密钥,验证指纹是否匹配:
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,如果是,接受。 -
要安装指定版本的 Docker CE,在 repo 中列出可用版本,然后选择并安装:
-
列出 repo 中可用的版本并进行排序。此示例按版本号对结果进行排序,从最高到最低,并截断:
$ yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
-
通过其完全限定的包名称安装特定版本,包名称(docker-ce)加上版本字符串(第2列),用连字符分隔:
$ sudo yum install docker-ce-<VERSION STRING>
Docker 安装好了,但没有启动,
docker
组已经创建,但没有用户添加到组。
-
-
启动 Docker:
$ sudo systemctl start docker
-
通过运行
hello-world
来验证是否正确安装:$ sudo docker run hello-world
此命令下载测试镜像并在容器中运行它。当容器运行时,会打印一条消息并退出。
现在 Docker CE 已经安装好并运行了。
更新
按上面步骤,指定版本,再来一遍。