預計閱讀時間: 11分鐘linux
要開始在 Debian 上使用 Docker Engine - Community ,請確保您 知足先決條件 ,而後 安裝Docker 。git
要安裝 Docker Engine - Community ,您須要如下 Debian 或 Raspbian 版本之一的64位版本:github
Docker Engine - Community 在 x86_64
(或 amd64
) armhf
,和 arm64
體系結構上受支持。docker
Docker 的舊版本被稱爲 docker
,docker.io
或 docker-engine
。若是已安裝,請卸載它們:shell
$ sudo apt-get remove docker docker-engine docker.io containerd runc
若是 apt-get
報告未安裝這些軟件包, 也不要緊 。網絡
的內容( /var/lib/docker/
包括圖像,容器,卷和網絡)被保留。如今稱爲 Docker Engine - Community 軟件包 docker-ce
。less
保存在 /var/lib/docker/
中的內容,包括映像、容器、卷和網絡。 Docker Engine - Community 包如今稱爲 docker -ce
。curl
您能夠根據須要以不一樣的方式安裝 Docker Engine - Community:post
在新主機上首次安裝 Docker Engine - Community 以前,須要設置 Docker 存儲庫。以後,您能夠從存儲庫安裝和更新 Docker 。測試
Raspbian 用戶不能使用此方法!
對於Raspbian,尚不支持使用存儲庫進行安裝。您必須改成使用 便捷腳本 。
更新 apt
包索引:
$ sudo apt-get update
安裝軟件包以容許 apt
經過 HTTPS 使用存儲庫:
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common
添加 Docker 的官方 GPG 密鑰:
$ curl -fsSL https://download.docker.com/linux/debian/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) <docker@docker.com> sub 4096R/F273FCD8 2017-02-22
使用如下命令來設置 穩定的 存儲庫。要添加 nightly 或 test存儲庫,請在如下命令中的單詞後面添加nightly
或test
(或二者)stable
。瞭解 nightly 和 test 頻道。
注意:下面的
lsb_release -cs
子命令返回 Debian 發行版的名稱,例如helium
。有時,在諸如 BunsenLabs Linux 的發行版中,您可能須要更改$(lsb_release -cs)
爲父 Debian 發行版。例如,若是您使用BunsenLabs Linux Helium
,則可使用stretch
。 Docker 對未經測試和不受支持的 Debian 發行版不提供任何保證。
x86_64 / amd64
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
armhf
$ sudo add-apt-repository \ "deb [arch=armhf] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
arm64
$ sudo add-apt-repository \ "deb [arch=arm64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable"
注意:此過程適用於
x86_64
/amd64
,Debian ARM 或Raspbian 上的 Debian 。
更新 apt
包索引。
$ sudo apt-get update
安裝最新版本的 Docker Engine - Community 和 containerd ,或者轉到下一步安裝特定版本:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
有多個Docker存儲庫嗎?
若是您啓用了多個Docker存儲庫,則在未在
apt-get install
orapt-get update
命令中指定版本的狀況下進行安裝或更新將始終安裝可能的最高版本,這可能不適合您的穩定性需求。
要安裝 特定版本 的 Docker Engine - Community ,請在存儲庫中列出可用版本,而後選擇並安裝:
a. 列出您的倉庫中可用的版本:
$ apt-cache madison docker-ce docker-ce | 5:18.09.1~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages docker-ce | 5:18.09.0~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages docker-ce | 18.06.1~ce~3-0~debian | https://download.docker.com/linux/debian stretch/stable amd64 Packages docker-ce | 18.06.0~ce~3-0~debian | https://download.docker.com/linux/debian stretch/stable amd64 Packages ...
b. 使用第二列中的版本字符串安裝特定版本,例如 5:18.09.1~3-0~debian-stretch
。
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
經過運行 hello-world
映像來驗證是否正確安裝了 Docker Engine - Community 。
$ sudo docker run hello-world
此命令下載測試鏡像並在容器中運行它。容器運行時,它會打印參考消息並退出。
Docker Engine - Community 已安裝並正在運行。該 docker
組已建立,但未添加任何用戶。您須要使用 sudo
來運行 Docker 命令。繼續進行 Linux後安裝 ,以容許非特權用戶運行Docker命令以及其餘可選配置步驟。
要升級 Docker Engine-Community ,請先運行 sudo apt-get update
,而後按照 安裝說明進行操做,選擇要安裝的新版本。
若是您不能使用Docker的存儲庫來安裝Docker Engine - Community,則能夠下載該 .deb
版本的 文件並手動安裝。每次升級Docker時,都須要下載一個新文件。
轉到https://download.docker.com/linux/debian/dists/
,選擇您的 Debian 版本,瀏覽至 pool/stable/
,選擇 amd64
、 armhf
或 arm64
下載 .deb
要安裝的 Docker Engine - Community 版本的文件。
注意:要安裝 nightly 軟件包,
stable
請將URL中的單詞更改 爲nightly
。 瞭解 nightly 和 test 頻道。
安裝 Docker Engine - Community ,將下面的路徑更改成您下載 Docker 軟件包的路徑。
$ sudo dpkg -i /path/to/package.deb
Docker 守護程序會自動啓動。
經過運行 hello-world
映像來驗證是否正確安裝了 Docker Engine - Community 。
$ sudo docker run hello-world
此命令下載測試圖像並在容器中運行它。容器運行時,它會打印參考消息並退出。
Docker Engine - Community 已安裝並正在運行。該 docker
組已建立,但未添加任何用戶。您須要使用 sudo
來運行 Docker 命令。繼續 執行Linux的安裝後步驟 ,以容許非特權用戶運行 Docker 命令以及其餘可選配置步驟。
要升級 Docker Engine - Community ,請下載較新的軟件包文件,而後重複 安裝過程 ,指向新文件。
Docker 在 get.docker.com 和 test.docker.com上 提供了便利腳本,用於將 Docker Engine-Community 的邊緣版本和測試版本快速且非交互地安裝到開發環境中。腳本的源代碼在 docker-install
存儲庫中 。 不建議在生產環境中使用這些腳本,在使用它們以前,您應該瞭解潛在的風險:
root
或具備 sudo
特權。所以,在運行腳本以前,應仔細檢查和審覈腳本。本示例使用 get.docker.com 上的腳本在Linux上安裝最新版本的 Docker Engine-Community 。要安裝最新的測試版本,請改用 test.docker.com 。在下面的每一個命令,用 test
取代每次出現 get
。
警告:
在本地運行它們以前,請務必檢查從 Internet 下載的腳本。
$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh <output truncated>
若是您想以非 root 用戶身份使用 Docker ,則如今應考慮使用相似如下方式將用戶添加到 「docker」 組:
sudo usermod -aG docker your-user
請記住註銷並從新登陸才能生效!
警告:
將用戶添加到「docker」組後,他們能夠運行容器,該容器可用於在Docker主機上得到root特權。 有關更多信息,請參考 Docker Daemon Attack Surface 。
Docker Engine-Community 已安裝。它會自動在 DEB
基於發行版的系統上啓動。在 RPM
基於發行版的系統上,您須要使用相應的 systemctl
或 service
命令手動啓動它 。如消息所示,默認狀況下,非 root 用戶不能運行 Docker 命令。
注意事項:
要安裝沒有 root 特權的 Docker ,請參閱 以非root用戶身份運行Docker守護程序(無根模式) 。
無根模式目前可做爲實驗功能。
若是使用便捷腳本安裝了 Docker ,則應直接使用包管理器升級 Docker 。從新運行便利程序腳本沒有任何好處,若是嘗試從新添加已經添加到主機的存儲庫,則可能致使問題。
卸載 Docker Engine-Community 軟件包:
$ sudo apt-get purge docker-ce
主機上的映像、容器、卷或自定義配置文件不會自動刪除。要刪除全部圖像、容器和卷:
$ sudo rm -rf /var/lib/docker
您必須手動刪除全部已編輯的配置文件。