Linux 中 Docker 的部署安裝

single7_發表於2020-12-03

0x01 準備工作

修改 Ubuntu 映象源

sudo  cp  /etc/apt/sources.list  /etc/apt/sources.list.bak #備份檔案
sudo  vim  /etc/apt/sources.list #修改原始檔

將以下內容替換到原始檔

# 預設註釋了原始碼映象以提高 apt update 速度,如有需要可自行取消註釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 預釋出軟體源,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
sudo  apt-get update #更新軟體源
sudo  apt-get dist-upgrade #非必要

也可以使用這個一鍵解決,一鍵更換阿里源

bash <(curl -sL https://bash.liuwenwen.net/changesource.sh)

該指令碼程式碼

sudo tee /etc/apt/sources.list <<-'EOF'
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
EOF
sudo apt update

0x02 解除安裝 docker 舊版本

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

0x03 使用 APT 安裝

apt 源使用 HTTPS 以確保軟體下載過程中不被篡改。因此,首先需要新增使用 HTTPS 傳輸的軟體包以及 CA 證書。

$ sudo apt-get update

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

鑑於國內網路問題,強烈建議使用國內源,官方源請在註釋中檢視。
為了確認所下載軟體包的合法性,需要新增軟體源的 GPG 金鑰。

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

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

0x04 安裝 Docker

更新 apt 軟體包快取,並安裝 docker-ce:

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

使用指令碼自動安裝

在測試或開發環境中 Docker 官方為了簡化安裝流程,提供了一套便捷的安裝指令碼,Ubuntu 系統上可以使用這套指令碼安裝,另外可以通過 --mirror 選項使用國內源進行安裝:

若你想安裝測試版的 Docker, 請從 test.docker.com 獲取指令碼

# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud

執行這個命令後,指令碼就會自動的將一切準備工作做好,並且把 Docker 的穩定(stable)版本安裝在系統中。

0x05 啟動 Docker

$ sudo systemctl enable docker
$ sudo systemctl start docker

0x06 建立 docker 使用者組

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

建立 docker 組:

$ sudo groupadd docker

將當前使用者加入 docker 組:
如果 user 是 root 其實也就沒有新增的必要了

sudo usermod -aG docker $USER

0x07 向 sources.list 中新增 docker 軟體源

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


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

以上命令為新增穩定版本的 Docker APT 映象源,如需測試版本的 Docker 請將 stable 改為 test。

0x08 啟動 Docker

$ sudo systemctl enable docker
$ sudo systemctl start docker

0x09 建立 docker 使用者組

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

$ sudo groupadd docker

將當前使用者加入 docker 組:

$ sudo usermod -aG docker $USER

退出當前終端並重新登入,進行如下測試。

0x10 測試 Docker 是否安裝正確

$ docker run hello-world

在這裡插入圖片描述

相關文章