在 Ubuntu 服务器上,Docker + Docker Compose 是部署服务最稳定、最高效的组合。本文提供官方源安装、可直接复制运行的完整流程,适配 Ubuntu 20.04 / 22.04 / 24.04 系统,新手也能一次成功。

一、环境准备

先更新系统并卸载可能存在的旧版本,避免冲突:

sudo apt update && sudo apt upgrade -y
sudo apt remove docker docker-engine docker.io containerd runc -y

二、安装依赖并添加 Docker 官方源

1. 安装 HTTPS 依赖

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

2. 添加 Docker GPG 密钥

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

3. 添加官方软件源

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:

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

验证 Docker 安装

sudo docker --version
sudo docker run --rm hello-world

出现 Hello from Docker! 说明安装成功。

四、安装 Docker Compose 插件(官方推荐)

新版 Docker 已内置 Compose 插件,无需手动下载二进制文件

sudo apt install -y docker-compose-plugin

验证 Compose

docker compose version

显示版本号即正常。

五、免 sudo 使用 Docker(可选但推荐)

把当前用户加入 docker 用户组,不用每次输 sudo:

sudo usermod -aG docker $USER
newgrp docker

设置后立即生效,重启终端永久生效。

六、配置开机自启与镜像加速

1. 设置开机自启

sudo systemctl enable docker
sudo systemctl start docker

2. 配置国内镜像加速(提升拉取速度)

创建或编辑 daemon 配置:

sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}
EOF

重启 Docker 生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

七、Compose 快速测试(Nginx 示例)

新建 docker-compose.yml

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"

启动服务:

docker compose up -d

访问 服务器IP:8080 即可看到 Nginx 欢迎页。

停止服务:

docker compose down

八、常见问题排查

  • 命令无权限:重新执行 usermod -aG docker $USER 并重启终端

  • 镜像拉取失败:检查镜像加速地址是否正确

  • Docker 启动失败:执行 sudo systemctl status docker 查看日志