在 Linux 主機上安裝 Docker

首先,先登入機器。

以防機器之前有裝過舊版的 Docker,這邊先下解除安裝的指令。

# 此例的用戶名稱是 administrator,機器名稱則為 nin-1
# 用 sudo (Super User DO) 和 apt-get (Advanced Package Tool) 的指令解除安裝
administrator@nin-1:~$ sudo apt-get remove docker docker-engine docker.io containerd runc

建立 Docker Repository。

# 從遠端取得更新 apt-get package 的清單
administrator@nin-1:~$ sudo apt-get update

# 安裝允許 apt-get 透過 HTTPS 安裝 Docker Repository 的 package
administrator@nin-1:~$ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 建立由 Docker 提供的 GPG (GNU Privacy Guard) key
administrator@nin-1:~$ sudo mkdir -m 0755 -p /etc/apt/keyrings
administrator@nin-1:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 建立 Docker Repository
administrator@nin-1:~$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安裝 Docker Engine 和 Docker Compose。

# 從遠端取得更新 apt-get package 的清單
administrator@nin-1:~$ sudo apt-get update

# 安裝 docker-ce、docker-ce-cli、containerd.io、docker-compose-plugin
administrator@nin-1:~$ sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 查詢安裝的 Docker 版本
administrator@nin-1:~$ sudo docker version
# 終端機回傳了我安裝的版本 Version:           23.0.1

# 查詢安裝的 Docker Compose 版本
administrator@nin-1:~$ docker compose version
# 終端機回傳了我安裝的版本 Docker Compose version v2.16.0

# 建立 symbolic link(因為 Docker Compose 版本指令不同,這個步驟要讓 v2 的 dcoker compose 變成 iNODE NINJA 平台裡 setup_slb.sh 或 setup_edge.sh 可以運作的 v1 docker-compose)
administrator@nin-1:~$ sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
💡
上述操作需要在 Root 權限下進行,如果你在輸入指令的過程中,出現「permission denied...」,你可以同上方使用 sudo 取得完整權限,或參考 Docker 的官方文件建立 docker group。

參考資料:

  1. Install Docker Engine on Ubuntu
  2. Install the Compose plugin
  3. Linux post-installation steps for Docker Engine