更新系统软件包

在安装任何新软件之前,最好先更新您的系统软件包列表和已安装的软件包。打开终端并运行以下命令:

sudo apt update
sudo apt upgrade -y

安装必要的依赖

安装 Docker 需要一些依赖项。运行以下命令安装它们:

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

添加 Docker 官方 GPG 密钥

为了验证 Docker 软件包的真实性,您需要添加 Docker 的官方 GPG 密钥。由于网络原因,直接从 Docker 官方获取可能不稳定,我们可以尝试通过 keyrings.debian.org 或者 keyserver.ubuntu.com 获取,或者直接下载。这里我们尝试先通过 curl 方式:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

如果 curl 命令失败,您可以尝试手动下载 GPG 密钥并放置到 /etc/apt/keyrings/ 目录下。

添加 Docker APT 仓库

接下来,您需要添加 Docker 的 APT 仓库。为了在中国大陆获得更好的下载速度,我们可以考虑使用国内的镜像源。

选项 A:使用 Docker 官方仓库(如果网络状况良好)

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
 "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

选项 B:使用国内镜像源(推荐,例如阿里云)

# 首先移除或注释掉之前的docker.list文件,如果存在的话
# sudo rm /etc/apt/sources.list.d/docker.list
 
# 添加阿里云镜像源
# 请将 "$(lsb_release -cs)" 替换为您的 Debian 版本代号,例如 bookworm
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian \
 "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装 Docker 引擎

更新 APT 软件包索引,然后安装 Docker Engine、Containerd 和 Docker Compose。

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

替换国内hub镜像

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://hub.rat.dev",
    "https://dockerproxy.net",
    "https://proxy.vvvv.ee"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

构建alpine镜像替换国内源

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
文章目录