系统依赖
1.centos版本为7.*,老版本不支持或者未经过测试。
2.centos-extras库必须为允许使用,此库默认为允许状态,如果之前禁用的话,必须开启
3.推荐使用overlay2
存储驱动
前期准备
一。
安装依赖包
- yum-utils 用于 yum-config-manager
- device-mapper-persistent-data 和 lvm2 用于 devicemapper 存储驱动
yum install -y yum-utils device-mapper-persistent-data lvm2
二。 设置docker stable仓库,即使对于从edge或者test版本仓库中构建项目来说,stable仓库也是必须的。
yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
三。【可选操作】允许使用edge和test库,这些库包含在上边所说的docker.repo文件中,但是默认是不允许使用的,可通过如下命令允许这两个库和stable库一起使用(反正我没开启)
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
可以通过
yum-config-manager命令的
--disable标签禁用edge和test仓库,重新启用的话,用
--enbale标签
,下边命令用于禁用edge库的
yum-config-manager --disable docker-ce-edge
注意:从docker 17.06版本开始,stable版的发布也将推送到edge和test库中
开始安装docker CE
一。【
和下一步是同类操作,只做其一即可
】通过此步骤安装最新版本的docker,或者通过下一步安装特定版本的docker
yum install docker-ce
⚠️如果你有多个版本的docker,通过使用
yum install
或者
yum update
命令的安装或者更新,如果不指定特定的版本号,将会只影响你当前最高版本的docker,从稳定性角度出发,这可能并不合适。
如果你在最近添加的库中第一次安装资源包时,会被提示接受GPG秘钥,并且同时会显示秘钥的数字指纹,验证指纹是否正确,如果是,接受密钥。数字指纹应该是如下形式:
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
。
此时docker安装成功了,但是并未启动。docker用户组也创建了,但是并没有用户添加到用户组中
二。【
和上一步是同类操作,只做其一即可
】在生产环境中,应该用某一个特定版本的docker,而不是一直用最新版本。下边例子通过sort -r对列出的版本通过版本号倒序排序。
yum list docker-ce --showduplicates | sort -r
命令执行结果和用的docker哪个版本的库和centos版本(在上边例子中通过docker的版本号中的
.el7后缀展示)有关,选择一个特定的版本进行安装,上边例子中第二列是版本号,可以使用完整的版本号,至少要包含到第一个连字符(.)。第三列是库名称,指出包来源的版本库和扩展级别。
安装特定版本,需要把包名称和版本号通过连字符(-)连接。
如上例中,完整的版本号应该是:
docker-ce-17.06.1.ce
然后通过如下命令进行安装
yum install docker-ce-17.06.1.ce
三。开启daoker服务
systemctl start docker
查看docker是否启动成功
ps aux | grep docker
四。通过运行hello-world图片,来验证docker是否安装正确
docker run hello-world
此命令下载一个测试映像并将其运行到一个容器中。当容器运行时,它打印一条信息消息并退出。
升级docker CE
首先卸载旧版本
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
然后,按照上述安装步骤,选择你想安装的新版本进行安装。
以上翻译自docker官网的安装文档,如果不符,欢迎指出,文档地址:https://docs.docker.com/install/linux/docker-ce/centos/