Centos安装docker需要操作系统是 CentOS 7 or 8,必须启用centos extras存储库。默认情况下,此存储库处于启用状态,但如果已禁用它,则需要重新启用它。

卸载旧版本

老版本的docker被称作docker 或者 docker-engine,如果有老版本的docker,把它和相关依赖一起卸载。

$ remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

安装步骤

官方推荐使用通过设置docker仓库的方法来安装,安装和升级都简单些。

1 设置docker仓库

第一次安装的时候需要设置docker仓库,后面就可以利用该仓库进行安装和升级docker。

需要先安装 yum-utils 包,它可以提供yum-config-manager工具和配置稳定的仓库。

yum install -y yum-utils
 yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

2 安装docker引擎

安装最新版docker引擎和容器,或者去下一步制定一个版本安装:

$ yum install docker-ce docker-ce-cli containerd.io

如果提示接受GPG key,验证是否是060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,就接受。

如果启用了多个Docker存储库,则在不在yum install或yum update命令中指定版本的情况下,安装或更新总是安装可用的最高版本,这可能不适合您的稳定性需要。

上面的命令安装好了最新版的docker,但是还没有启动服务,docker组也被创建好了,但是还没有用户分配到该组。

3 安装指定版本的docker引擎

列出仓库可用的所有版本,然后选择安装,下面命令把列出的结果进行倒序排序:

[root@iZbp180j96p8y98l1s1oucZ ~]# yum list docker-ce --showduplicates | sort -r
Last metadata expiration check: 0:32:38 ago on Fri 28 May 2021 06:17:26 PM CST.
Installed Packages
docker-ce.x86_64               3:20.10.6-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.6-3.el8                 @docker-ce-stable
docker-ce.x86_64               3:20.10.5-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.4-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.3-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.2-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.1-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.0-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:19.03.15-3.el8                docker-ce-stable 
docker-ce.x86_64               3:19.03.14-3.el8                docker-ce-stable 
docker-ce.x86_64               3:19.03.13-3.el8                docker-ce-stable 
Available Packages

通过下面命令指定要安装的版本,例如,对于3:20.10.6-3.el8,它的版本号是:-中间的部分,也就是: 20.10.6

$ yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

用版本号替换一下,上面的命令就是:

$ yum install docker-ce-20.10.6 docker-ce-cli-20.10.6 containerd.io

4 启动docker

$ systemctl start docker

5 运行hello-world
为了验证docker正确安装并正常启动,执行自带的hello-world镜像。

$ docker container run hello-world

如果这个hello-world镜像默认不存在,会自动下载,然后运行这个image。