首先確保你的CentOS版本爲7.x 。centos-extras
存儲庫必須啓用。 默認狀況下啓用此存儲庫,但若是已禁用該存儲庫,則須要從新啓用該存儲庫。Docker分爲企業版和社區版,企業版是收費的,本文討論的是安裝社區版。linux
Docker的舊版本被稱爲docker
或docker-engine
。 若是安裝了這些,請卸載它們以及關聯的依賴關係。docker
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:shell
大多數用戶設置了Docker的存儲庫並從中安裝,以方便安裝和升級任務。 這是推薦的方法。centos
某些用戶下載RPM軟件包並手動安裝並手動管理升級。 這在諸如在沒有訪問互聯網的空隙系統上安裝Docker的狀況下是有用的。app
在測試和開發環境中,一些用戶選擇使用自動化便利腳原本安裝Docker。curl
在新的主機上首次安裝Docker CE以前,須要設置Docker存儲庫。 此後,您能夠從存儲庫安裝和更新Docker。ide
yum-utils
提供了yum-config-manager
實用程序,而且device-mapper-persistent-data
和lvm2
須要devicemapper
存儲驅動程序。sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
2.使用如下命令設置穩定存儲庫。 您始終須要穩定的存儲庫,即便您也想從邊緣或測試存儲庫安裝構建。測試
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
3.可選:啓用test和edge。 這些存儲庫包含在上面的docker.repo文件中,但默認狀況下禁用。 您能夠將它們與穩定版本庫一塊兒啓用。this
sudo yum-config-manager --enable docker-ce-edge sudo yum-config-manager --enable docker-ce-test
您能夠經過運行帶有--disable
標誌的yum-config-manager
命令來禁用edge或test庫。 要從新啓用它,請使用--enable
標誌。 如下命令禁用edge存儲庫。url
sudo yum-config-manager --disable docker-ce-edge
從Docker 17.06開始,穩定的版本也被推到了edge和test存儲庫
1.安裝最新版本的Docker CE,或轉到下一步安裝特定版本。
sudo yum install docker-ce
警告:若是啓用了多個Docker存儲庫,則在
yum install
或yum update
命令中不安裝或更新版本將始終安裝儘量高的版本,這可能不適合您的穩定性需求。
若是這是您第一次從最近添加的存儲庫安裝軟件包,系統將提示您接受GPG密鑰,並顯示密鑰的指紋。 驗證指紋是否正確,若是是,請接受密鑰。 指紋應該匹配
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
Docker已安裝但未啓動。 Docker組已建立,但沒有用戶添加到組中。
2.在生產系統上,您應該安裝特定版本的Docker CE,而不是始終使用最新版本。 列出可用的版本。 此示例使用排序-r
命令對結果進行排序,版本號由最高到最低,並被截斷。
yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 17.09.ce-1.el7.centos docker-ce-stable
列表的內容取決於啓用哪些存儲庫,而且將特定於您的CentOS版本(在本示例中由版本的.el7後綴表示)。 選擇要安裝的特定版本。 第二列是版本字符串。 您可使用整個版本字符串,但您至少須要包含第一個連字符。 第三列是存儲庫名稱,它指示軟件包的存儲庫以及其穩定性級別。 要安裝特定版本,請將版本字符串附加到包名稱,並用連字符( - )分隔。
版本字符串是包名稱加上直到第一個連字符的版本。 在上面的示例中,徹底限定的包名稱是
docker-ce-17.09.ce
。
sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
3.啓動Docker
sudo systemctl start docker
4.經過運行hello-world鏡像來驗證Docker是否正確安裝。
sudo docker run hello-world
此命令下載hello-world鏡像並在容器中運行它。 當容器運行時,它打印一條信息消息並退出。
Docker CE已安裝並運行。 您須要使用sudo
來運行Docker命令。 繼續執行Linux安裝後,容許非特權用戶運行Docker命令和其餘可選配置步驟。
要升級Docker CE,請按照安裝說明進行操做,選擇要安裝的新版本。
若是您不能使用Docker的存儲庫來安裝Docker,則能夠下載您的版本的.rpm
文件並手動安裝。 每次要升級Docker時,都須要下載一個新文件。
1訪問https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
並下載要安裝的Docker版本的.rpm文件。
要安裝edge包,請將上述URL中的stable更改成edge。
2.安裝Docker CE,將下面的路徑更改成您下載Docker程序包的路徑。
sudo yum install /path/to/package.rpm
Docker已安裝但未啓動。 Docker組已建立,但沒有用戶添加到組中。
3.啓動Docker
sudo systemctl start docker
4.經過運行hello-world鏡像來驗證Docker是否正確安裝。
sudo docker run hello-world
此命令下載hello-world鏡像像並在容器中運行它。 當容器運行時,它打印一條信息消息並退出。
Docker CE已安裝並運行。 您須要使用sudo來運行Docker命令。 繼續執行Linux的安裝後步驟,以容許非特權用戶運行Docker命令和其餘可選配置步驟。
要升級Docker CE,請下載較新的軟件包文件並重復安裝過程,使用yum -y升級而不是yum -y install,並指向新文件。
Docker在get.docker.com
和test.docker.com
上提供了方便的腳本,用於將Docker CE的穩定和測試版本,快速、非交互式安裝到開發環境中。 腳本的源代碼位於docker-install存儲庫中。 不建議在生產環境中使用這些腳本,您應該在使用這些腳本以前瞭解潛在的風險:
此示例使用get.docker.com
上的腳本在Linux上安裝最新的Docker CE版本。 要安裝最新的測試版本,請改用test.docker.com
。 在下面的每一個命令中,將每次出現的get
與test
進行替換。
警告:在本地運行以前,始終檢查從互聯網下載的腳本。
curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh <output truncated> If you would like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker your-user Remember that you will have to log out and back in for this to take effect! WARNING: Adding a user to the "docker" group will grant the ability to run containers which can be used to obtain root privileges on the docker host. Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface for more information.
Docker CE已安裝。 它在基於DEB的發行版上自動啓動。 在基於RPM的發行版中,您須要使用適當的systemctl
或service
命令手動啓動它。 消息顯示,非root用戶默認狀況下沒法運行Docker命令。
若是您使用便捷腳本安裝Docker,則應直接使用您的程序包管理器升級Docker。 從新運行方便腳本沒有任何好處,若是嘗試從新添加已經添加到主機的存儲庫,可能會致使問題。
1.卸載Docker包
sudo yum remove docker-ce
2.主機上的mages, containers, volumes或自定義配置文件不會自動刪除。 刪除全部mages, containers, volumes:
sudo rm -rf /var/lib/docker
您必須手動刪除任何定義配置文件。