文章轉自:https://www.cnblogs.com/yufeng218/p/8370670.html (EE安裝)
https://blog.csdn.net/jxyzh11/article/details/79112280 (EE、CE版本安裝及解釋)
Docker支持以下的CentOS版本:
- CentOS 7 (64-bit)
- CentOS 6.5 (64-bit) 或更高的版本
前提條件
目前,CentOS 僅發行版本中的內核支持 Docker。
Docker 運行在 CentOS 7 上,要求系統為64位、系統內核版本為 3.10 以上。
Docker 運行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系統為64位、系統內核版本為 2.6.32-431 或者更高版本。
2.卸載舊版本
老版本的Docker被稱為docker或docker-engine。如果安裝了這些,請卸載它們以及相關的依賴項。
$ sudo yum remove docker docker-common docker-selinux docker-engine
如果yum報告說沒有安裝這些軟件包,那也沒關系。
/var/lib/docker/包括圖像,容器,卷和網絡的內容將被保留。Docker CE包現在被調用docker-ce。
1.查詢安裝過的包
yum list installed | grep docker
docker-engine.x86_64 17.03.0.ce-1.el7.centos @dockerrepo
2.刪除安裝的軟件包
yum -y remove docker-engine.x86_64(刪除已經安裝的文件)
3.刪除鏡像/容器等
rm -rf /var/lib/docker
4.刪除所有的數據卷
docker volume rm $(sudo docker volume ls -q)
您必須手動刪除任何已編輯的配置文件。
3、安裝
一、安裝docker
1、Docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。
通過 uname -r 命令查看你當前的內核版本
$ uname -r
2、使用 root
權限登錄 Centos。確保 yum 包更新到最新。
$ sudo yum update
3、卸載舊版本(如果安裝過舊版本的話)
$ sudo yum remove docker docker-common docker-selinux docker-engine
4、安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、設置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有倉庫中所有docker版本,並選擇特定版本安裝
$ yum list docker-ce --showduplicates | sort -r
7、安裝docker
$ sudo yum install docker-ce #由於repo中默認只開啟stable倉庫,故這里安裝的是最新穩定版17.12.0 $ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
8、啟動並加入開機啟動
$ sudo systemctl start docker $ sudo systemctl enable docker
9、驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)
$ docker version
二、問題
問題一
1、因為之前已經安裝過舊版本的docker,在安裝的時候報錯如下:
Transaction check error: file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64 file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
2、卸載舊版本的包
$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
3、再次安裝docker
$ sudo yum install docker-ce
問題二
1、當安裝版本為:17.03.2.ce-1.el7.centos 出現異常
Error: Package: docker-ce-17.03.2.ce-1.el7.centos.x86_64 (docker-ce-stable)
Requires: docker-ce-selinux >= 17.03.2.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
2、解決
解決辦法:
#要先安裝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,就能正常安裝
sudo yum install docker-ce-17.03.2.ce-1.el7.centos
問題三
1、解決找不到No package docker-io available.
2、解決 解決方式:先執行 yum remove docker 后再 yum install docker-io 即可。
原文鏈接 https://www.cnblogs.com/maodot/p/7654918.html
大神問題總結 http://blog.51cto.com/fatty/1766055