在Redhat/CentOS上安裝Docker
阿新 • • 發佈:2019-01-06
一、系統要求1)和你係統的版本要匹配2)centos-extras repository 必須啟用,這個庫預設是啟用的,但是如果你關掉了它,你必須重新啟用。3)推薦使用overlay2 儲存協議。二、解除安裝舊版本如果你沒有安裝舊版本,就不必解除安裝了。之前的舊版本叫做 docker 或者 docker-engine,如何安裝了這倆,那就先解除安裝,包括相關的依賴。$ sudo 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 CE有三種方式可以安裝 Docker CE,具體選擇哪一種方式取決於你的需要:方法一:先安裝docker源 然後基於這個源來安裝。這是比較推薦的做法,這樣便於安裝和升級。方法二:下載 docker 的RPM包,然後手動安裝,並且完全手動管理和升級,這種方式適合安裝的主機無法接入網際網路的情況。方法三: 在測試開發環境中,也可以用自動化指令碼進行簡易安裝。下面逐一介紹(主要是方法一):方法一:在你第一次安裝docker或者在一個新機器上安裝docker之前,你必須先安裝docker的源,然後你才可以從這個源上安裝並且更新docker。1、 安裝docker源1)安裝需要的yum功能包 yum-utils用於支援yum-config-manager(yum配置管理器)功能, device-mapper-persistent-data和lvm2使用者支援devicemapper儲存驅動。$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
2)增加穩定的docker源,儘管edge或者test的源也可以,但是還是有穩定的比較好。$ sudo yum-config-manager \ --add-repo\
3)可選項:啟動edge和test源,這些源裡面含有docker.repo檔案,但預設是關閉的,你也可以啟用他們。$ sudo yum-config-manager --enable docker-ce-edge$ sudo yum-config-manager --enable docker-ce-testYou can disable the edge or test repository by running the yum-config-manager command with the --disable flag. To re-enable it, use the --enable flag. The following command disables the edge repository.$ sudo yum-config-manager --disable docker-ce-edgeNote: Starting with Docker 17.06, stable releases are also pushed to the edge and testrepositories.2、安裝Docker CE1)安裝最新版本的docker ce$ sudo yum install docker-ce
報 No package docker availableyum沒有找到docker-ce包,而docker-ce是第三方軟體,更新epel第三方軟體庫,執行命令:sudo yum install epel-release
EPEL(Extra Packages for Enterprise Linux)是基於Fedora的一個專案,為“紅帽系”的操作系統提供額外的軟體包,適用於RHEL、CentOS和Scientific Linux.再次執行:$ sudo yum install docker-ce
還是沒有 docker-ce 包!安裝老版本看看:$ sudo yum install docker安裝結果:
2)可選項:在你的生產系統內,你應該安裝指定版本的docker ce而不是總是安裝最新的 列出你的源中的所有可用版本,從最高到最低。$ yum list docker-ce --showduplicates | sort -r
列表裡的內容是你源裡面包含的版本,和你linux版本(el7字尾表示linux版本)也有關係。選擇你要安裝的版本,第二列為版本字串。The contents of the list depend upon which repositories are enabled, and are specific to your version of CentOS (indicated by the .el7 suffix on the version, in this example). Choose a specific version to install. The second column is the version string. You can use the entire version string, but you need to include at least to the first hyphen. The third column is the repository name, which indicates which repository the package is from and by extension its stability level. To install a specific version, append the version string to the package name and separate them by a hyphen (-).Note: The version string is the package name plus the version up to the first hyphen. In the example above, the fully qualified package name is docker-ce-17.06.1.ce.$ sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>3)啟動docker$ sudo systemctl start docker
報錯。檢視狀態:$ systemctl status docker.service -l 加 -l 有的行資訊很長,列印的時候會省略,加此引數則全部顯示。
報錯資訊:Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel or disable selinux in docker (--selinux-enabled=false)意思是說, 此linux的核心中的SELinux不支援 overlay2 graph driver ,解決方法有兩個,要麼啟動一個新核心,要麼就在docker裡禁用selinux,--selinux-enabled=false重新編輯docker配置檔案:vi /etc/sysconfig/docker
改為:
重啟docker:
檢視狀態:$ systemctl status docker.service -l
搞定!!4)驗證安裝是否成功 通過執行hello-world映象來驗證安裝是否成功。$ sudo docker run hello-world
確實成功了,oye!方法二:2)安裝你下載的檔案$ sudo yum install /path/to/package.rpm3)啟動 Docker.$ sudo systemctl start docker4)驗證安裝是否成功sudo docker run hello-world方法三:$ curl -fsSL get.docker.com -o get-docker.sh$ sudo sh get-docker.sh四、解除安裝docker1)解除安裝安裝包$ sudo yum remove docker-ce2)刪除檔案$ sudo rm -rf /var/lib/docker
2)增加穩定的docker源,儘管edge或者test的源也可以,但是還是有穩定的比較好。$ sudo yum-config-manager \ --add-repo\
3)可選項:啟動edge和test源,這些源裡面含有docker.repo檔案,但預設是關閉的,你也可以啟用他們。$ sudo yum-config-manager --enable docker-ce-edge$ sudo yum-config-manager --enable docker-ce-testYou can disable the edge or test repository by running the yum-config-manager command with the --disable flag. To re-enable it, use the --enable flag. The following command disables the edge repository.$ sudo yum-config-manager --disable docker-ce-edgeNote: Starting with Docker 17.06, stable releases are also pushed to the edge and testrepositories.2、安裝Docker CE1)安裝最新版本的docker ce$ sudo yum install docker-ce
報 No package docker availableyum沒有找到docker-ce包,而docker-ce是第三方軟體,更新epel第三方軟體庫,執行命令:sudo yum install epel-release
EPEL(Extra Packages for Enterprise Linux)是基於Fedora的一個專案,為“紅帽系”的操作系統提供額外的軟體包,適用於RHEL、CentOS和Scientific Linux.再次執行:$ sudo yum install docker-ce
還是沒有 docker-ce 包!安裝老版本看看:$ sudo yum install docker安裝結果:
2)可選項:在你的生產系統內,你應該安裝指定版本的docker ce而不是總是安裝最新的 列出你的源中的所有可用版本,從最高到最低。$ yum list docker-ce --showduplicates | sort -r
列表裡的內容是你源裡面包含的版本,和你linux版本(el7字尾表示linux版本)也有關係。選擇你要安裝的版本,第二列為版本字串。The contents of the list depend upon which repositories are enabled, and are specific to your version of CentOS (indicated by the .el7 suffix on the version, in this example). Choose a specific version to install. The second column is the version string. You can use the entire version string, but you need to include at least to the first hyphen. The third column is the repository name, which indicates which repository the package is from and by extension its stability level. To install a specific version, append the version string to the package name and separate them by a hyphen (-).Note: The version string is the package name plus the version up to the first hyphen. In the example above, the fully qualified package name is docker-ce-17.06.1.ce.$ sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>3)啟動docker$ sudo systemctl start docker
報錯。檢視狀態:$ systemctl status docker.service -l 加 -l 有的行資訊很長,列印的時候會省略,加此引數則全部顯示。
報錯資訊:Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel or disable selinux in docker (--selinux-enabled=false)意思是說, 此linux的核心中的SELinux不支援 overlay2 graph driver ,解決方法有兩個,要麼啟動一個新核心,要麼就在docker裡禁用selinux,--selinux-enabled=false重新編輯docker配置檔案:vi /etc/sysconfig/docker
改為:
重啟docker:
檢視狀態:$ systemctl status docker.service -l
搞定!!4)驗證安裝是否成功 通過執行hello-world映象來驗證安裝是否成功。$ sudo docker run hello-world
確實成功了,oye!方法二:2)安裝你下載的檔案$ sudo yum install /path/to/package.rpm3)啟動 Docker.$ sudo systemctl start docker4)驗證安裝是否成功sudo docker run hello-world方法三:$ curl -fsSL get.docker.com -o get-docker.sh$ sudo sh get-docker.sh四、解除安裝docker1)解除安裝安裝包$ sudo yum remove docker-ce2)刪除檔案$ sudo rm -rf /var/lib/docker
詳情參見docker官方網址:
https://docs.docker.com/install/linux/docker-ce/centos/