在使用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