Ubuntu 安裝 Docker

學(xué)習(xí)完整課程請(qǐng)移步 互聯(lián)網(wǎng) Java 全棧工程師

本節(jié)視頻

準(zhǔn)備工作

警告:切勿在沒有配置 Docker APT 源的情況下直接使用 apt 命令安裝 Docker.

系統(tǒng)要求

Docker CE 支持以下版本的 Ubuntu 操作系統(tǒng):

  • Artful 17.10 (Docker CE 17.11 Edge +)
  • Xenial 16.04 (LTS)
  • Trusty 14.04 (LTS)

Docker CE 可以安裝在 64 位的 x86 平臺(tái)或 ARM 平臺(tái)上。Ubuntu 發(fā)行版中,LTS(Long-Term-Support)長(zhǎng)期支持版本,會(huì)獲得 5 年的升級(jí)維護(hù)支持,這樣的版本會(huì)更穩(wěn)定,因此在生產(chǎn)環(huán)境中推薦使用 LTS 版本,當(dāng)前最新的 LTS 版本為 Ubuntu 16.04。

卸載舊版本

舊版本的 Docker 稱為 docker 或者 docker-engine,使用以下命令卸載舊版本:

$ sudo apt-get remove docker \
               docker-engine \
               docker.io

Ubuntu 14.04 可選內(nèi)核模塊

從 Ubuntu 14.04 開始,一部分內(nèi)核模塊移到了可選內(nèi)核模塊包 (linux-image-extra-*) ,以減少內(nèi)核軟件包的體積。正常安裝的系統(tǒng)應(yīng)該會(huì)包含可選內(nèi)核模塊包,而一些裁剪后的系統(tǒng)可能會(huì)將其精簡(jiǎn)掉。AUFS 內(nèi)核驅(qū)動(dòng)屬于可選內(nèi)核模塊的一部分,作為推薦的 Docker 存儲(chǔ)層驅(qū)動(dòng),一般建議安裝可選內(nèi)核模塊包以使用 AUFS

如果系統(tǒng)沒有安裝可選內(nèi)核模塊的話,可以執(zhí)行下面的命令來安裝可選內(nèi)核模塊包:

$ sudo apt-get update

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

Ubuntu 16.04 +

Ubuntu 16.04 + 上的 Docker CE 默認(rèn)使用 overlay2 存儲(chǔ)層驅(qū)動(dòng),無(wú)需手動(dòng)配置。

使用 APT 安裝

安裝必要的一些系統(tǒng)工具

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

安裝 GPG 證書

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

寫入軟件源信息

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

更新并安裝 Docker CE

sudo apt-get -y update
sudo apt-get -y install docker-ce

以上命令會(huì)添加穩(wěn)定版本的 Docker CE APT 鏡像源,如果需要最新或者測(cè)試版本的 Docker CE 請(qǐng)將 stable 改為 edge 或者 test。從 Docker 17.06 開始,edge test 版本的 APT 鏡像源也會(huì)包含穩(wěn)定版本的 Docker。

使用腳本自動(dòng)安裝

在測(cè)試或開發(fā)環(huán)境中 Docker 官方為了簡(jiǎn)化安裝流程,提供了一套便捷的安裝腳本,Ubuntu 系統(tǒng)上可以使用這套腳本安裝:

$ curl -fsSL get.docker.com -o get-docker.sh
# 可能會(huì)出現(xiàn) 404 錯(cuò)誤,請(qǐng)移步下面的特別說明
$ sudo sh get-docker.sh --mirror Aliyun

執(zhí)行這個(gè)命令后,腳本就會(huì)自動(dòng)的將一切準(zhǔn)備工作做好,并且把 Docker CE 的 Edge 版本安裝在系統(tǒng)中。

特別說明

2018 年 7 月 21 日,貌似阿里云這邊在做調(diào)整,故導(dǎo)致 Docker 的 Aliyun 安裝腳本不可用,是永久性還是臨時(shí)性的尚不清除,如果你已經(jīng)按照之前的操作安裝 Docker,請(qǐng)按以下步驟進(jìn)行修復(fù)并重新安裝

  • 如果已經(jīng)使用了 Aliyun 腳本安裝并成功的
    • 請(qǐng)先卸載 Docker,命令為:apt-get autoremove docker-ce
    • 刪除 /etc/apt/sources.list.d 目錄下的 docker.list 文件
  • 使用 AzureChinaCloud 鏡像腳本重新安裝,命令為:sudo sh get-docker.sh --mirror AzureChinaCloud

啟動(dòng) Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker

Ubuntu 14.04 請(qǐng)使用以下命令啟動(dòng):

$ sudo service docker start

建立 docker 用戶組

默認(rèn)情況下,docker 命令會(huì)使用 Unix socket 與 Docker 引擎通訊。而只有 root 用戶和 docker 組的用戶才可以訪問 Docker 引擎的 Unix socket。出于安全考慮,一般 Linux 系統(tǒng)上不會(huì)直接使用 root 用戶。因此,更好地做法是將需要使用 docker 的用戶加入 docker 用戶組。

建立 docker 組:

$ sudo groupadd docker

將當(dāng)前用戶加入 docker 組:

$ sudo usermod -aG docker $USER

退出當(dāng)前終端并重新登錄,進(jìn)行如下測(cè)試。

測(cè)試 Docker 是否安裝正確

$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

若能正常輸出以上信息,則說明安裝成功。

鏡像加速

鑒于國(guó)內(nèi)網(wǎng)絡(luò)問題,后續(xù)拉取 Docker 鏡像十分緩慢,強(qiáng)烈建議安裝 Docker 之后配置 國(guó)內(nèi)鏡像加速。

參考文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容