在 Ubuntu 中安装

本文记录 Ubuntu 环境下通过 Docker 官方 apt 仓库安装 Docker Engine 的流程。步骤参考 Docker 官方 Ubuntu 安装文档

卸载残留安装文件

安装官方版本前,先移除系统仓库或旧环境里可能冲突的 Docker 相关包。

sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)

配置 Docker apt 仓库

# Add Docker's official GPG key:
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

安装 Docker Engine

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

安装完成后验证 Docker 服务和命令是否正常。

sudo systemctl status docker
sudo docker run hello-world

如果需要安装指定版本,可以先查看当前 Ubuntu 版本可用的 Docker 版本。

apt list --all-versions docker-ce

然后选择对应版本安装。

VERSION_STRING=<从 apt list --all-versions docker-ce 输出中复制的版本>
sudo apt install -y docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

配置镜像加速器

如果不配置加速器,拉取 Docker Hub 镜像时可能触发匿名访问限制。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json > /dev/null <<-'EOF'
{
  "registry-mirrors": [
   "https://docker.m.daocloud.io"
  ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

可能遇到的拉取限制示例:

Using default tag: latest
Error response from daemon: error from registry: You have reached your unauthenticated pull rate limit. https://www.docker.com/increase-rate-limit

一键部署脚本

脚本地址:Docker 一键部署脚本

建议先下载并查看脚本内容,确认无误后再执行。

curl -fsSL https://doc.jihw.top/docker/install-docker-ubuntu.sh -o install-docker-ubuntu.sh
# 检查脚本(可选),若没问题按q退出
less install-docker-ubuntu.sh
# 执行脚本
bash install-docker-ubuntu.sh