ubuntu 使用aliyun映象安裝 docker

ponponon發表於2022-12-27

ubuntu

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

準備工作

解除安裝舊版本

舊版本的 Docker 稱為 docker 或者 docker-engine,使用以下命令解除安裝舊版本:

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

使用 APT 安裝

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

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

鑑於國內網路問題,強烈建議使用國內源,官方源請在註釋中檢視。

為了確認所下載軟體包的合法性,需要新增軟體源的 GPG 金鑰。

tsinghua

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

然後,我們需要向 sources.list 中新增 Docker 軟體源:

tsinghua

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
以上命令會新增穩定版本的 Docker APT 源,如果需要測試版本的 Docker 請將 stable 改為 test。

安裝 Docker

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

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

使用指令碼自動安裝

在測試或開發環境中 Docker 官方為了簡化安裝流程,提供了一套便捷的安裝指令碼,Debian 系統上可以使用這套指令碼安裝,另外可以透過 --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)版本安裝在系統中。

啟動 Docker

$ sudo systemctl enable docker
$ sudo systemctl start docker

建立 docker 使用者組

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

sudo groupadd docker

將當前使用者加入 docker 組:

sudo usermod -aG docker $USER

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

測試 Docker 是否安裝正確

$ docker run --rm hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
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://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

替換 docker 源

編輯檔案

vim /etc/docker/daemon.json

新增下面的內容

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

重啟 docker

systemctl daemon-reload
systemctl restart docker

檢查加速器是否生效

執行 docker info,如果從結果中看到了如下內容,說明配置成功。

參考連結:
docker 清華源

相關文章