前言:
網上很多關於docker在centos系統上的安裝教程,但是又各有異同,比較混亂。所以,此文章接下來的對於docker的安裝,將參照官方的文檔進行安裝。
官方文檔地址:https://docs.docker.com/install/linux/docker-ce/centos/
Docker版本
Docker如今划分成了2個版本:
-
Docker CE(社區版)
-
Docker EE(企業版)
具體詳情以及區別,就不多做說明了。我們一般都會選擇Docker CE(社區版),因為CE版本是開源免費的。對於大多數企業公司都比較節約成本。
因此,文章中所使用的Docker版本均為Docker CE版本。
安裝Docker CE版本的先決條件
官方文檔中有這樣一段描述:
OS requirements To install Docker CE, you need a maintained version of CentOS 7. Archived versions aren’t supported or tested.
翻譯過來的中文意思就是:
OS要求
要安裝Docker CE,您需要維護的CentOS 7版本。不支持或測試歸檔版本。
官方推薦的系統是centos7以上,但其實centos6也是可以安裝docker的,並沒有強制必須是centos7。
但是我的文章是基於最新的centos7系統,所以對於低版本的centos系統如何安裝docker,請自行網上查找資料或者實際操作。
卸載舊版本
老版本的Docker被稱為docker或docker-engine。如果安裝了它們,請卸載它們以及相關的依賴項。
在Linux命令行執行的命令如下:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
如下圖所示,將上面的命令copy一下,並在Linux命令行下面直接回車運行:
如圖中所示,最后出現 No Packages marked for removal 的提示信息,說明沒有需要刪除的資源包了,標明舊版本的docker資源包以及相關依賴包都已經刪除掉了。
安裝Docker CE
Docker CE安裝的不同方式
-
設置Docker的存儲庫並從中進行安裝,以便安裝和升級任務。這是推薦的方法。
-
有些用戶下載RPM軟件包並手動安裝,並完全手動管理升級。這對於在無法訪問互聯網的系統上安裝Docker等情況很有用。
-
在測試和開發環境中,一些用戶選擇使用自動便利腳本來安裝Docker。
這里我們就選擇第一種方式進行安裝,這也是推薦的做法。
至於其他的安裝方式,可自行網上學習,這里不做過多講解。
使用存儲庫進行安裝
首次在新主機上安裝Docker CE之前,需要設置Docker存儲庫。之后,您可以從存儲庫安裝和更新Docker。
設置存儲庫
- 安裝所需的包。 yum-utils提供yum-config-manager實用程序,devicemapper存儲驅動程序需要device-mapper-persistent-data和lvm2。
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 使用以下命令設置穩定的存儲庫。 即使您想從邊緣或測試存儲庫安裝構建,也總是需要穩定的存儲庫。
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- (可選):啟用邊緣和測試存儲庫。 這些存儲庫包含在上面的docker.repo文件中,但默認情況下處於禁用狀態。 您可以將它們與穩定的存儲庫一起啟用。
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
- (可選):與上一步相反的作用。通過使用--disable標志運行yum-config-manager命令,可以禁用邊緣或測試存儲庫。 要重新啟用它,請使用--enable標志。 以下命令禁用邊緣存儲庫。
yum-config-manager --disable docker-ce-edge
注意:從Docker 17.06開始,穩定版本也被推到邊緣並測試版本庫。
了解穩定和邊緣構建 :https://docs.docker.com/install/
安裝Docker CE
- 安裝最新版本的Docker CE:
yum install docker-ce
如果命令行下面出現如下圖所示的確認信息,請輸入“y”繼續,主要是用於處理依賴包的事情:
上一步輸入“y”之后,后面可能會遇到下圖所示的確認提示信息,同樣的輸入“y”即可:
稍作等待,當命令行最終輸出“Complete!”即表示安裝完成:
啟動Docker
systemctl start docker
驗證Docker是否安裝成功
最簡單的驗證方式,就是使用 docker version 命令,類似於JDK的 java -version 一樣的道理。
Docker安裝成功的話,就可以直接在命令行運行Docker的命令的。
docker version
如果出現如下圖所示信息,說明Docker以及安裝成功了!
【可選】:當然,你也可以通過運行 hello-world 映像來檢驗Docker是否安裝成功:
docker run hello-world
上面的命令含義:下載官方提供的用於測試使用的hello-world鏡像並將其運行到容器中,來檢驗Docker服務是否正常安裝並運行。
執行上面的命令之后,Docker會自動下載hello-world鏡像並自動運行到容器中,當命令行中出現“Hello from Docker!”的字樣,說明已經成功運行了hello-world鏡像,一切就OK了!
這里就簡單的作為Docker的入門操作,很簡單的吧。讓你有一個比較直觀的感覺~
Docker默認掛載目錄
Docker CE安裝成功之后,你可以發現 /var/lib 目錄下有一個 docker 目錄,你可以進入Docker目錄查看Docker的一些結構,如下圖所示:
其中有一個containers 目錄,這個目錄就是存放Docker容器的。上面我們有提及到 hello-world 鏡像,如果你運行了 hello-world 鏡像,那么這個鏡像所生成的容器信息,就會存儲在 containers 目錄中。
具體 containers 目錄中存放了什么內容,可自行網上查詢資料學習。
配置Docker在系統啟動時啟動
未配置Docker在系統啟動時啟動,則系統重啟之后,Docker服務是無法正常訪問
這里是使用我的阿里雲服務器作為測試,在阿里雲的后台系統中手動重啟了服務器,服務器啟動完成並正常運行后,在我的本地電腦使用客戶端軟件連接Linux服務器的時候(可以使用XShell、或者其他終端軟件),通過執行 docker version 命令查看Docker服務運行狀況,如下圖結果:
從圖中可以看到,Docker Server 沒有正常啟動,原因很簡單,就是沒有設置Docker在服務器重啟之后,沒有自動啟動導致。
如何解決?
手動啟動Docker服務:
1、通過在命令行中執行以下命令,即可實現Docker服務的啟動:
systemctl start docker
這時候重新在命令行中執行 docker version命令,效果如下:
出現Server相關的信息,標明Docker服務正常啟動了,就可以對Docker進行一系列操作。
上面這種啟動方式存在什么不足呢?
當服務器重啟的時候,Docker服務依然不能自動啟動,還是需要手工去啟動Docker服務。
那能不能做到系統重啟之后,Docker服務自動啟動,答案肯定是有的。
實現Docker服務隨着系統重啟后自動啟動
大多數當前的Linux發行版(RHEL,CentOS,Fedora,Ubuntu 16.04和更高版本)使用systemd來管理在系統啟動時啟動哪些服務。
通過在命令行執行以下命令,用於設置Docker在系統重啟時,自動啟動Docker服務
systemctl enable docker
執行該命令之后,會顯示如下結果:
主要的意思就是 設置Docker服務會隨着服務器重啟,會自動啟動Docker服務。
當然,執行該命令之后,對於當前的Docker服務狀況是沒有啟動服務的,需要手動啟動Docker服務;只有下次服務器重啟,就無需手動啟動Docker服務了。
官方文檔介紹:https://docs.docker.com/install/linux/linux-postinstall/#configure-docker-to-start-on-boot
注意一點:由於Linux不同版本的系統的差異、或者低版本的系統,命令或許會出現差異。如有遇到這樣的問題,請自行網上查找資料解決。
取消Docker服務隨着系統重啟后自動啟動
如果你不想讓Docker服務隨着系統重啟之后自動啟動的話,你可以通過命令來取消這樣的策略:
systemctl disable docker
執行上面的命令,就可以了。
官方文檔介紹:https://docs.docker.com/install/linux/linux-postinstall/#configure-docker-to-start-on-boot
卸載Docker CE
如果需要卸載機器上已經安裝的Docker CE,可以通過簡單命令實現。
- 卸載Docker包:
yum remove docker-ce
- 上面的命令,不會自動刪除主機上的圖像,容器,卷或自定義配置文件。要想刪除所有圖像,容器和卷,執行以下命令:
rm -rf /var/lib/docker
注意:必須手動刪除任何已編輯的配置文件
shell一鍵安裝
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
這樣執行完了就完成安裝了,簡單便捷
然后啟動docker
sudo systemctl start docker
完美!鼓掌!!