coding
筱進GG的gravatar頭像
筱進GG2019-09-28 18:48:08
在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

注意:您必須手動刪除任何已編輯的配置文件


打賞

已有1人打賞

最代碼官方的gravatar頭像

分享到:

最近瀏覽
shanjunkai123 LV212分鐘前
星星星星
GerryFu LV111月1日
星星
香酥雞腿 LV210月31日
星星星星
cy666a LV710月30日
月亮星星星星星星
kinggode LV1310月30日
月亮月亮月亮星星
songlijun LV1210月30日
月亮月亮月亮
admin123456686 LV910月29日
月亮月亮星星
西紅柿愛炒番茄 LV210月27日
星星星星
Bsword LV210月25日
星星星星
yangdong LV1310月22日
月亮月亮月亮星星
最代碼廣告位
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
黑龙江11选5实时走势图