K
ken
HomeArticles🕐 Time Converter📋 JSON Tools🖼️ Base64 Image🔑 Password Generator Cron Expression🔤 Case Converter📱 QR Code#️⃣ Hash🔡 Encoding🔍 Regex Tester⚙️ Config Convert🔐 Encrypt/Decrypt
运维监控HOT

Ubuntu 安装 Docker 和 Docker Compose

2026-04-28·5 min read

Ubuntu 装 Docker 最省事的方式是用官方源,系统自带 apt 仓库里的 docker.io 版本太老,不推荐。

卸载旧版本

之前装过 Docker 的话先清理:

bash双击代码复制
sudo apt remove docker docker-engine docker.io containerd runc

安装依赖

bash双击代码复制
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

添加 Docker 官方源

添加 GPG 密钥和 apt 源,这里分两种情况。

国外服务器(可以直接访问 docker.com)

bash双击代码复制
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

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

国内服务器(用清华镜像源)

bash双击代码复制
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

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

bash双击代码复制
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

验证:

bash双击代码复制
sudo docker run hello-world

非 root 用户执行 docker(可选)

每次加 sudo 比较麻烦,把当前用户加到 docker 组:

bash双击代码复制
sudo usermod -aG docker $USER
newgrp docker

配置镜像加速器

国内拉 Docker Hub 镜像很慢,建议配置 mirrors。编辑 /etc/docker/daemon.json:

json双击代码复制
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

重启:

bash双击代码复制
sudo systemctl daemon-reload
sudo systemctl restart docker

确认生效:

bash双击代码复制
docker info | grep -A 5 "Registry Mirrors"

配置 HTTP 代理

如果 Docker 需要通过代理拉镜像,可以在 daemon.json 中配置。编辑 /etc/docker/daemon.json(和镜像加速器配在一起):

json双击代码复制
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "proxies": {
    "http-proxy": "http://127.0.0.1:7890",
    "https-proxy": "http://127.0.0.1:7890",
    "no-proxy": "localhost,127.0.0.1,.local"
  }
}

端口根据你的代理软件设置,Clash 默认 7890。

重启 Docker:

bash双击代码复制
sudo systemctl restart docker

确认:

bash双击代码复制
docker info | grep -i proxy

Docker Compose

新版 Docker 已经把 Compose 作为插件集成进来了,上面安装 docker-compose-plugin 后直接使用:

bash双击代码复制
docker compose version

如果要手动安装独立版本:

bash双击代码复制
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

国内服务器 curl GitHub 可能超时,可以加代理下载:

bash双击代码复制
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

验证:

bash双击代码复制
docker compose version