在Centos系統中安裝Docker


前言:

網上很多關於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命令行下面直接回車運行:

在Centos系統中安裝Docker

如圖中所示,最后出現 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

  1. 安裝最新版本的Docker CE:
yum install docker-ce

如果命令行下面出現如下圖所示的確認信息,請輸入“y”繼續,主要是用於處理依賴包的事情:

在Centos系統中安裝Docker

上一步輸入“y”之后,后面可能會遇到下圖所示的確認提示信息,同樣的輸入“y”即可:

在Centos系統中安裝Docker

稍作等待,當命令行最終輸出“Complete!”即表示安裝完成:

在Centos系統中安裝Docker

啟動Docker

systemctl start docker

驗證Docker是否安裝成功

最簡單的驗證方式,就是使用 docker version 命令,類似於JDK的 java -version 一樣的道理。

Docker安裝成功的話,就可以直接在命令行運行Docker的命令的。

docker version

如果出現如下圖所示信息,說明Docker以及安裝成功了!

在Centos系統中安裝Docker

【可選】:當然,你也可以通過運行 hello-world 映像來檢驗Docker是否安裝成功:

docker run hello-world

上面的命令含義:下載官方提供的用於測試使用的hello-world鏡像並將其運行到容器中,來檢驗Docker服務是否正常安裝並運行。

執行上面的命令之后,Docker會自動下載hello-world鏡像並自動運行到容器中,當命令行中出現“Hello from Docker!”的字樣,說明已經成功運行了hello-world鏡像,一切就OK了!

這里就簡單的作為Docker的入門操作,很簡單的吧。讓你有一個比較直觀的感覺~

在Centos系統中安裝Docker

Docker默認掛載目錄

Docker CE安裝成功之后,你可以發現 /var/lib 目錄下有一個 docker 目錄,你可以進入Docker目錄查看Docker的一些結構,如下圖所示:

在Centos系統中安裝Docker

其中有一個containers 目錄,這個目錄就是存放Docker容器的。上面我們有提及到 hello-world 鏡像,如果你運行了 hello-world 鏡像,那么這個鏡像所生成的容器信息,就會存儲在 containers 目錄中。

具體 containers 目錄中存放了什么內容,可自行網上查詢資料學習。

配置Docker在系統啟動時啟動

未配置Docker在系統啟動時啟動,則系統重啟之后,Docker服務是無法正常訪問

這里是使用我的阿里雲服務器作為測試,在阿里雲的后台系統中手動重啟了服務器,服務器啟動完成並正常運行后,在我的本地電腦使用客戶端軟件連接Linux服務器的時候(可以使用XShell、或者其他終端軟件),通過執行 docker version 命令查看Docker服務運行狀況,如下圖結果:

在Centos系統中安裝Docker

從圖中可以看到,Docker Server 沒有正常啟動,原因很簡單,就是沒有設置Docker在服務器重啟之后,沒有自動啟動導致。

如何解決?

手動啟動Docker服務:

1、通過在命令行中執行以下命令,即可實現Docker服務的啟動:

systemctl start docker

這時候重新在命令行中執行 docker version命令,效果如下:

在Centos系統中安裝Docker

出現Server相關的信息,標明Docker服務正常啟動了,就可以對Docker進行一系列操作。

上面這種啟動方式存在什么不足呢?

當服務器重啟的時候,Docker服務依然不能自動啟動,還是需要手工去啟動Docker服務。

那能不能做到系統重啟之后,Docker服務自動啟動,答案肯定是有的。

實現Docker服務隨着系統重啟后自動啟動

大多數當前的Linux發行版(RHEL,CentOS,Fedora,Ubuntu 16.04和更高版本)使用systemd來管理在系統啟動時啟動哪些服務。

通過在命令行執行以下命令,用於設置Docker在系統重啟時,自動啟動Docker服務

systemctl enable docker

執行該命令之后,會顯示如下結果:

在Centos系統中安裝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,可以通過簡單命令實現。

  1. 卸載Docker包:
yum remove docker-ce
  1. 上面的命令,不會自動刪除主機上的圖像,容器,卷或自定義配置文件。要想刪除所有圖像,容器和卷,執行以下命令:
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

完美!鼓掌!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM