Centos7安裝Docker 完整篇

2021-10-08 20:02:21 字數 4508 閱讀 4155

要在centos上開始使用docker engine,請確保您 滿足先決條件,然後 安裝docker。

前提條件

作業系統要求

要安裝docker engine,您需要乙個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-engine

如果yum報告未安裝這些軟體包,則可以。

的內容(/var/lib/docker/包括影象,容器,卷和網路)被保留。docker engine軟體包現在稱為docker-ce。

安裝方法

您可以根據需要以不同的方式安裝docker engine:

大多數使用者會 設定docker的儲存庫並從中進行安裝,以簡化安裝和公升級任務。這是推薦的方法。

在測試和開發環境中,一些使用者選擇使用自動 便利指令碼來安裝docker。

使用儲存庫安裝

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

設定儲存庫

安裝yum-utils軟體包(提供yum-config-manager 實用程式)並設定穩定的儲存庫。

cli containerd.io如果提示您接受gpg金鑰,請驗證指紋是否匹配 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35,如果是,則接受它。

有多個docker儲存庫嗎?

如果您啟用了多個docker儲存庫,則在未在yum installor yum update命令中指定版本的情況下進行安裝或更新將始終安裝可能的最高版本,這可能不適合您的穩定性需求。

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

要安裝特定版本的docker engine,請在儲存庫中列出可用版本,然後選擇並安裝:

乙個。列出並排序您儲存庫中可用的版本。此示例按版本號(從高到低)對結果進行排序,並被截斷:

yum list docker-ce --showduplicates |

sort

-r

docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable

docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable

docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable

docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable

返回的列表取決於啟用的儲存庫,並且特定於您的centos版本(.el7在此示例中以後綴表示)。

b。通過其完全合格的軟體包名稱安裝特定版本,該軟體包名稱是軟體包名稱(docker-ce)加上版本字串(第二列),從第乙個冒號(:)到第乙個連字元,以連字元(-)分隔。例如,docker-ce-18.09.1。

sudo yum install docker-ce-

如下版本號:

3:18.09.1-3.el7

選冒號:到-中間的

docker-ce-18.09.1

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

啟動docker。

sudo systemctl start docker
通過執行hello-world 映像來驗證是否正確安裝了docker engine 。

sudo docker run hello-world
docker engine已安裝並正在執行。您需要使用sudo來執行docker命令。繼續進行linux後安裝,以允許非特權使用者執行docker命令以及其他可選配置步驟。

公升級docker引擎

要公升級docker engine,請按照安裝說明,選擇要安裝的新版本。

注意:要安裝夜間或測試(預發布)軟體包,stable請將上述url中的單詞更改為nightly或test。 了解每晚和測試頻道。

sudo yum install /path/to/package.rpm
docker已安裝但尚未啟動。docker建立該組,但沒有使用者新增到該組。

啟動docker。

sudo systemctl start docker
通過執行hello-world 映像來驗證是否正確安裝了docker engine 。

sudo docker run hello-world
docker engine已安裝並正在執行。您需要使用sudo來執行docker命令。繼續執行linux的安裝後步驟,以允許非特權使用者執行docker命令以及其他可選配置步驟。

使用便捷指令碼

docker在get.docker.com 和test.docker.com上提供了便利指令碼,用於將docker engine-community的邊緣版本和測試版本快速且非互動地安裝到開發環境中。指令碼的源**在 docker-install儲存庫中。 不建議在生產環境中使用這些指令碼,在使用它們之前,您應該了解潛在的風險:

指令碼需要執行root或具有sudo特權。因此,在執行指令碼之前,應仔細檢查和審核指令碼。

這些指令碼嘗試檢測linux發行版和版本,並為您配置軟體包管理系統。此外,指令碼不允許您自定義任何安裝引數。從docker的角度或您自己組織的準則和標準的角度來看,這可能導致不支援的配置。

這些指令碼將安裝軟體包管理器的所有依賴關係和建議,而無需進行確認。這可能會安裝大量軟體包,具體取決於主機的當前配置。

該指令碼未提供用於指定要安裝哪個版本的docker的選項,而是安裝了在「 edge」通道中發布的最新版本。

如果已經使用其他機制將docker安裝在主機上,請不要使用便捷指令碼。

本示例使用get.docker.com上的指令碼在linux上安裝最新版本的docker engine-community。要安裝最新的測試版本,請改用test.docker.com。在下面的每個命令,取代每次出現get用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 engine-社群已安裝。它會自動在deb基於發行版的系統上啟動。在 rpm基於發行版的系統上,您需要使用相應的systemctl或service命令手動啟動它 。如訊息所示,預設情況下,非root使用者不能執行docker命令。

注意事項:

要安裝沒有root特權的docker,請參閱 以非root使用者身份執行docker守護程式(無根模式)。

無根模式目前可作為實驗功能。

使用便捷指令碼後公升級docker

如果使用便捷指令碼安裝了docker,則應直接使用包管理器公升級docker。重新執行便利程式指令碼沒有任何好處,如果嘗試重新新增已經新增到主機的儲存庫,則可能導致問題。

解除安裝docker

解除安裝docker engine,cli和containerd軟體包:

sudo yum remove docker-ce docker-ce-

cli containerd.io

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

sudo rm

-rf /

var/lib/docker

CentOS7離線安裝Docker

安裝過程中遇到的問題 下面描述了如何在centos7離線安裝docker。建議先閱讀docker官方離線安裝指南 參考下面的文章將iso光碟印象檔案設定為本地yum源 在vmware中設定iso光碟映象為本地yum源 在上面的目錄下,執行 sudo yum install rpm因為前面已經設定了本...

centos7離線安裝docker

centos7離線安裝docker 特此感謝!網上有很多rpm安裝教程與二進位制安裝教程,為了安裝方便,沒有深入研究rpm安裝,使用的是二進位制安裝。環境 centos7.5 docker版本 docker 17.12.1 ce tar zxvf docker 17.12.1 ce.tgz 將解壓的...

Centos7安裝Docker步驟

docker是利用linux核心虛擬機器化技術 lxc 提供輕量級的虛擬化,以便隔離程序和資源。lxc不是硬體的虛擬化,而是linux核心的級別的虛擬機器化,相對於傳統的虛擬機器,節省了很多硬體資源 支援3.8,不過有的特性無法使用。最好使用3.10版本以上。國內生產環境很多都是使用centos,所...