在使用centos7,并使用yum安装docker的时候,每每不但愿安装最新版本的docker,而是但愿安装与本身熟悉或者当前业务环境须要的版本,例如目前Kubernetes支持的最新docker版本为v17.03,因此就产生了安装指定版本docker的需求
# 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加Docker软件包源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #关闭测试版本list(只显示稳定版) sudo yum-config-manager --enable docker-ce-edge sudo yum-config-manager --enable docker-ce-test # 更新yum包索引 yum makecache fast #NO.1 直接安装Docker CE (will always install the highest possible version,可能不符合你的需求) yum install docker-ce #NO.2 指定版本安装 yum list docker-ce --showduplicates|sort -r #找到须要安装的 yum install docker-ce-17.09.0.ce -y #启动docker systemctl start docker & systemctl enable docker
固然本着万事皆有坑的原则,这里也是有坑的,在安装中也是会遇到以下的问题
在执行如下命令的时候:linux
yum install docker-ce-17.03.0.ce -y
会出现以下的报错:docker
--> Finished Dependency Resolution Error: Package: docker-ce-17.03.0.ce-1.el7.centos.x86_64 (docker-ce-stable) Requires: docker-ce-selinux >= 17.03.0.ce-1.el7.centos Available: docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch (docker-ce-stable) docker-ce-selinux = 17.03.0.ce-1.el7.centos Available: docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch (docker-ce-stable) docker-ce-selinux = 17.03.1.ce-1.el7.centos Available: docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch (docker-ce-stable) docker-ce-selinux = 17.03.2.ce-1.el7.centos You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
在出现这个问题以后,须要执行如下命令:centos
#要先安装docker-ce-selinux-17.03.2.ce,不然安装docker-ce会报错 yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm #而后再安装 docker-ce-17.03.2.ce,就能正常安装 yum install docker-ce-17.03.2.ce-1.el7.centos