1. 程式人生 > >第三天 docker 官方文件學習安裝

第三天 docker 官方文件學習安裝

Docker 安裝

目前Docker 有2個版本一個是docker-ce 和docker-ee:
Docker Engine改為Docker CE(社群版)
Docker Data Center改為Docker EE(企業版)
Docker CE 和Docker EE。Docker CE即社群版,免費,Docker EE即企業版,強調安全,付費使用。
如果學習本人還是從Docker-ce使用開始。
在這裡插入圖片描述

官方網站上有各種環境下的 安裝指南,這裡主要介紹下 Ubuntu和CentOS 系列的安裝。

Ubuntu 安裝

OS要求
要安裝Docker CE,您需要這些Ubuntu版本之一的64位版本:
• 仿生18.04(LTS)
• Xenial 16.04(LTS)
• Trusty 14.04(LTS)

解除安裝舊版本

較舊版本的Docker被稱為docker或docker-engine。如果已安裝,請解除安裝它們:
$ sudo apt-get remove docker docker-engine docker.io

如果apt-get報告沒有安裝這些軟體包,則可以。
/var/lib/docker/保留包括影象,容器,卷和網路在內的內容。現在呼叫Docker CE包docker-ce。

支援的儲存驅動

Ubuntu上的Docker CE支援overlay2和aufs儲存驅動程式。
• 對於Linux核心版本4及更高版本的新安裝,overlay2 支援並首選aufs。
• 對於Linux核心的版本3,aufs支援,因為該核心版本不支援overlay或 overlay2驅動程式。
如果您需要使用aufs,您需要做以下概述的其他準備工作。
AUFS的額外步驟
• Xenial 16.04及更新版本
對於Ubuntu 16.04及更高版本,Linux核心包括對OverlayFS的支援,Docker CE overlay2預設使用儲存驅動程式。如果需要使用aufs,則需要手動配置。

• Trusty 14.04
• 除非你有充分的理由不安裝,否則 linux-image-extra-*允許Docker使用aufs儲存驅動程式。

$ sudo apt-get update

	
$ sudo apt-get install \
	linux-image-extra-$(uname -r) \
    linux-image-extra-virtual

安裝Docker CE
您可以根據需要以不同方式安裝Docker CE:
• 大多數使用者 設定Docker的儲存庫並從中進行安裝,以便於安裝和升級任務。這是推薦的方法。
• 有些使用者下載DEB軟體包並 手動安裝並完全手動管理升級。這在諸如在沒有訪問網際網路的氣隙系統上安裝Docker的情況下非常有用。
• 在測試和開發環境中,一些使用者選擇使用自動 便捷指令碼來安裝Docker。

使用儲存庫安裝
在新主機上首次安裝Docker CE之前,需要設定Docker儲存庫。之後,您可以從儲存庫安裝和更新Docker。
設定儲存庫

  1. 更新apt包索引:

     $ sudo apt-get update
    
  2. 安裝包以允許apt通過HTTPS使用儲存庫:

     $ sudo apt-get install \
    	apt-transport-https \		
    	ca-certificates \
    	curl \
    	software-properties-common
    
  3. 新增Docker的官方GPG金鑰:

      $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通過搜尋指紋的最後8個字元,驗證您現在擁有帶指紋的金鑰 。

$ sudo apt-key fingerprint 0EBFCD88

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <[email protected]>
sub   4096R/F273FCD8 2017-02-22
  1. 使用以下命令設定穩定儲存庫。即使您還想從邊緣或測試儲存庫安裝構建,您始終需要穩定的儲存 庫。要新增邊緣或 測試儲存庫,請在下面的命令中的單詞後新增單詞或(或兩者)。edgeteststable
    注意:下面的lsb_release -cs子命令返回您的Ubuntu發行版的名稱,例如xenial。有時,在像Linux Mint這樣的發行版中,您可能需要更改$(lsb_release -cs) 為父Ubuntu發行版。例如,如果您正在使用 Linux Mint Rafaela,則可以使用trusty。

• x86_64 / amd64

$ sudo add-apt-repository \
	   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
	   $(lsb_release -cs) \
       stable"

• armhf

$ sudo add-apt-repository \
	   "deb [arch=armhf] https://download.docker.com/linux/ubuntu \
	   $(lsb_release -cs) \
	   stable"

• IBM Power(ppc64le)

$ sudo add-apt-repository \
	   "deb [arch=ppc64el] https://download.docker.com/linux/ubuntu \
	   $(lsb_release -cs) \
       stable"

• IBM Z(s390x)

$ sudo add-apt-repository \
	   "deb [arch=s390x] https://download.docker.com/linux/ubuntu \
	   $(lsb_release -cs) \
	   stable"

注意:從Docker 17.06開始,穩定版本也會被推送到邊緣並測試儲存庫。

安裝DOCKER CE

  1. 更新apt包索引。

    $ sudo apt-get update
    
  2. 安裝最新版本的Docker CE,或轉到下一步安裝特定版本:

    $ sudo apt-get install docker-ce
    

    有多個Docker儲存庫?
    如果您啟用了多個Docker儲存庫,則在未指定apt-get install或 apt-get update命令中的版本的情況下安裝或更新始終會安裝儘可能高的版本,這可能不適合您的穩定性需求。

  3. 要安裝特定版本的Docker CE,請列出repo中的可用版本,然後選擇並安裝:
    一個。列出您的倉庫中可用的版本:

    $ apt-cache madison docker-ce
    
    docker-ce | 18.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
    

按其完全限定的包名稱安裝特定版本:

$ sudo apt-get install docker-ce=<VERSION>

Docker守護程式自動啟動。
4. 通過執行hello-world 映像驗證是否正確安裝了Docker CE 。

$ sudo docker run hello-world

此命令下載測試映像並在容器中執行它。當容器執行時,它會列印一條資訊性訊息並退出。
Docker CE已安裝並正在執行。該docker組已建立,但未向其新增任何使用者。您需要使用它sudo來執行Docker命令。繼續Linux postinstall以允許非特權使用者執行Docker命令和其他可選配置步驟。

從包安裝

如果您無法使用Docker的儲存庫來安裝Docker CE,則可以下載.deb適用於您的發行版的 檔案並手動安裝。每次要升級Docker CE時都需要下載新檔案。

  1. 轉到https://download.docker.com/linux/ubuntu/dists/,選擇你的Ubuntu版本,瀏覽pool/stable/和選擇amd64,armhf,ppc64el,或s390x。下載.deb要安裝的Docker版本的檔案。
    注意:要安裝邊緣 包,stable請將URL中的單詞更改 為edge。 瞭解穩定和邊緣渠道。

  2. 安裝Docker CE,將下面的路徑更改為您下載Docker軟體包的路徑。

    $ sudo dpkg -i /path/to/package.deb
    

Docker守護程式自動啟動。

使用便利指令碼安裝

Docker在get.docker.com 和test.docker.com上提供了便捷指令碼,用於快速,非互動地將Docker CE的邊緣和測試版本安裝到開發環境中。指令碼的原始碼位於 docker-install儲存庫中。 建議不要在生產環境中使用這些指令碼,並且在使用它們之前應該瞭解潛在的風險:
• 指令碼需要root或sudo特權才能執行。因此,在執行指令碼之前,應仔細檢查和稽核指令碼。
• 這些指令碼會嘗試檢測您的Linux發行版和版本,併為您配置包管理系統。此外,指令碼不允許您自定義任何安裝引數。從Docker的角度或您自己組織的指導方針和標準來看,這可能會導致配置不受支援。
• 指令碼安裝包管理器的所有依賴項和建議,而不要求確認。這可能會安裝大量軟體包,具體取決於主機的當前配置。
• 該指令碼不提供選項來指定要安裝的Docker版本,並安裝在“邊緣”通道中釋出的最新版本。
• 如果已使用其他機制在主機上安裝了Docker,請不要使用便捷指令碼。
此示例使用get.docker.com上的指令碼在Linux上安裝最新版本的Docker CE。要安裝最新的測試版本,請改用test.docker.com。在下面的每個命令中,替換每次出現的getwith test。

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
如果您想將Docker用作非root使用者,您現在應該考慮將您的使用者新增到“docker”組,例如:
sudo usermod -aG docker your-user

請記得登出並重新登入才能生效!

解除安裝Docker CE

  1. 解除安裝Docker CE軟體包

    $ sudo apt-get purge docker-ce $ sudo apt-get purge docker-ce
    
  2. 主機上的影象,容器,卷或自定義配置檔案不會自動刪除。要刪除所有影象,容器和卷:

    $ sudo rm -rf /var/lib/docker
    

您必須手動刪除任何已編輯的配置檔案。

CentOS 作業系統安裝 Docker

OS要求

要安裝Docker CE,您需要CentOS 7的維護版本。不支援或測試存檔版本。
該centos-extras庫必須啟用。預設情況下,此儲存庫已啟用,但如果已將其禁用,則需要 重新啟用它。
overlay2建議使用儲存驅動程式。

解除安裝舊版本

較舊版本的Docker被稱為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

如果yum報告沒有安裝這些軟體包,則可以。
/var/lib/docker/保留包括影象,容器,卷和網路在內的內容。現在呼叫Docker CE包docker-ce。

安裝Docker CE

您可以根據需要以不同方式安裝Docker CE:
• 大多數使用者 設定Docker的儲存庫並從中進行安裝,以便於安裝和升級任務。這是推薦的方法。
• 有些使用者下載RPM軟體包並 手動安裝並完全手動管理升級。這在諸如在沒有訪問網際網路的氣隙系統上安裝Docker的情況下非常有用。
• 在測試和開發環境中,一些使用者選擇使用自動 便捷指令碼來安裝Docker。
使用儲存庫安裝
在新主機上首次安裝Docker CE之前,需要設定Docker儲存庫。之後,您可以從儲存庫安裝和更新Docker。
設定儲存庫

  1. 安裝所需的包。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. 可選:啟用邊緣和測試儲存庫。這些儲存庫包含在docker.repo上面的檔案中,但預設情況下處於禁用狀態。您可以將它們與穩定儲存庫一起啟用。

     $ sudo yum-config-manager --enable docker-ce-edge
     
     $ sudo yum-config-manager --enable docker-ce-test
    

    您可以通過執行帶有標誌的命令來禁用邊緣或測試儲存庫 。要重新啟用它,請使用該標誌。以下命令禁用邊緣儲存庫。yum-config-manager–disable–enable

    $ sudo yum-config-manager --disable docker-ce-edge
    

    注意:從Docker 17.06開始,穩定版本也會被推送到邊緣並測試儲存庫。
    瞭解穩定和邊緣構建。

安裝DOCKER CE

  1. 安裝最新版本的Docker CE,或轉到下一步安裝特定版本:

    $ sudo yum install docker-ce
    

    如果提示接受GPG金鑰,請驗證指紋是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配 ,則接受它。
    有多個Docker儲存庫?
    如果您啟用了多個Docker儲存庫,則在未指定yum install或 yum update命令中的版本的情況下安裝或更新始終會安裝儘可能高的版本,這可能不適合您的穩定性需求。
    Docker已安裝但尚未啟動。該docker組已建立,但沒有使用者新增到該組。

  2. 要安裝特定版本的Docker CE,請列出repo中的可用版本,然後選擇並安裝:
    一個。列出並對您的倉庫中可用的版本進行排序。此示例按版本號對結果進行排序,從最高到最低,並被截斷:

    $ yum list docker-ce --showduplicates | sort -r
    
    docker-ce.x86_64            18.09.0.ce-1.el7.centos             docker-ce-stable
    

    返回的列表取決於啟用的儲存庫,並且特定於您的CentOS版本(.el7在此示例中以後綴表示)。
    灣 通過其完全限定的包名稱安裝特定版本,包名稱(docker-ce)加上版本字串(第2列)直到第一個連字元,-例如,用連字元() 分隔docker-ce-18.03.0.ce。

    $ sudo yum install docker-ce-<VERSION STRING>
    

    Docker已安裝但尚未啟動。該docker組已建立,但沒有使用者新增到該組。

  3. 啟動Docker。

    $ sudo systemctl start docker
    
  4. docker通過執行hello-world 映像驗證是否已正確安裝。

    $ sudo docker run hello-world
    

    此命令下載測試映像並在容器中執行它。當容器執行時,它會列印一條資訊性訊息並退出。
    Docker CE已安裝並正在執行。您需要使用它sudo來執行Docker命令。繼續Linux postinstall以允許非特權使用者執行Docker命令和其他可選配置步驟。

從包安裝

如果您無法使用Docker的儲存庫來安裝Docker,則可以下載.rpm適用於您的發行版的 檔案並手動安裝。每次要升級Docker時都需要下載新檔案。

  1. 轉到 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 並下載.rpm要安裝的Docker版本的檔案。
    注意:要安裝邊緣 包,stable請將上述URL中的單詞更改 為edge。 瞭解穩定和邊緣渠道。

  2. 安裝Docker CE,將下面的路徑更改為您下載Docker軟體包的路徑。

    $ sudo yum install /path/to/package.rpm
    

    Docker已安裝但尚未啟動。該docker組已建立,但沒有使用者新增到該組。

  3. 啟動Docker。

    $ sudo systemctl start docker
    
  4. docker通過執行hello-world 映像驗證是否已正確安裝。

    $ sudo docker run hello-world
    

    此命令下載測試映像並在容器中執行它。當容器執行時,它會列印一條資訊性訊息並退出。
    Docker CE已安裝並正在執行。您需要使用它sudo來執行Docker命令。繼續執行Linux的安裝後步驟,以允許非特權使用者執行Docker命令以及其他可選配置步驟。

使用便利指令碼安裝

Docker在get.docker.com 和test.docker.com上提供了便捷指令碼,用於快速,非互動地將Docker CE的邊緣和測試版本安裝到開發環境中。指令碼的原始碼位於 docker-install儲存庫中。 建議不要在生產環境中使用這些指令碼,並且在使用它們之前應該瞭解潛在的風險:
• 指令碼需要root或sudo特權才能執行。因此,在執行指令碼之前,應仔細檢查和稽核指令碼。
• 這些指令碼會嘗試檢測您的Linux發
行版和版本,併為您配置包管理系統。此外,指令碼不允許您自定義任何安裝引數。從Docker的角度或您自己組織的指導方針和標準來看,這可能會導致配置不受支援。
• 指令碼安裝包管理器的所有依賴項和建議,而不要求確認。這可能會安裝大量軟體包,具體取決於主機的當前配置。
• 該指令碼不提供選項來指定要安裝的Docker版本,並安裝在“邊緣”通道中釋出的最新版本。
• 如果已使用其他機制在主機上安裝了Docker,請不要使用便捷指令碼。
此示例使用get.docker.com上的指令碼在Linux上安裝最新版本的Docker CE。要安裝最新的測試版本,請改用test.docker.com。在下面的每個命令中,替換每次出現的getwith test。

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

解除安裝Docker CE

  1. 解除安裝Docker包:

  2. $ sudo yum remove docker-ce

  3. 主機上的影象,容器,卷或自定義配置檔案不會自動刪除。要刪除所有影象,容器和卷:

    $ sudo rm -rf /var/lib/docker
    

您必須手動刪除任何已編輯的配置檔案。

建立 docker 使用者組

預設情況下, docker 命令會使用 Unix socket 與 Docker 引擎通訊。而只有
root 使用者和 docker 組的使用者才可以訪問 Docker 引擎的 Unix socket。出於
安全考慮,一般 Linux 系統上不會直接使用 root 使用者。因此,更好地做法是將
需要使用 docker 的使用者加入 docker 使用者組。
建立 docker 組:

$ sudo groupadd docker

將當前使用者加入 docker 組:

$ sudo usermod -aG docker $USER