Ubuntu 安装 Docker CE 和 Docker Compose 最新教程(2026)

Ubuntu 安装 Docker CE 和 Docker Compose 最新教程(2026)

适用于:

  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS
  • Ubuntu 24.04 LTS
  • Ubuntu 26.04 LTS

支持:

  • Docker Engine
  • Docker Compose V2
  • Docker Buildx
  • ARM64 / AMD64

一、检查系统版本

查看 Ubuntu 信息:

bash 复制代码
cat /etc/os-release

示例:

复制代码
PRETTY_NAME="Ubuntu 22.04.5 LTS"
VERSION_CODENAME=jammy

查看 CPU 架构:

bash 复制代码
dpkg --print-architecture

常见:

复制代码
amd64

或者:

复制代码
arm64

二、卸载旧版本 Docker(可选)

如果之前安装过:

建议先卸载。

bash 复制代码
sudo apt remove -y \
docker \
docker-engine \
docker.io \
containerd \
runc \
docker-compose

注意:

这个不会删除:

复制代码
/var/lib/docker

里面已有镜像和容器数据。

如果需要彻底清理:

bash 复制代码
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

三、安装 Docker 依赖

更新软件源:

bash 复制代码
sudo apt update

安装依赖:

bash 复制代码
sudo apt install -y \
ca-certificates \
curl \
gnupg

四、添加 Docker 官方 GPG Key

创建 key 存储目录:

bash 复制代码
sudo install -m 0755 -d /etc/apt/keyrings

下载 Docker 官方签名:

bash 复制代码
sudo curl -fsSL \
https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc

设置权限:

bash 复制代码
sudo chmod a+r /etc/apt/keyrings/docker.asc

五、添加 Docker 官方软件源

自动识别 Ubuntu 版本:

bash 复制代码
echo \
"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" \
| sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null

更新:

bash 复制代码
sudo apt update

六、安装 Docker Engine + Compose

执行:

bash 复制代码
sudo apt install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin

安装内容:

组件 作用
docker-ce Docker 服务
docker-ce-cli Docker 命令行
containerd.io 容器运行时
docker-buildx-plugin 高级构建
docker-compose-plugin Compose V2

七、启动 Docker 服务

设置开机启动:

bash 复制代码
sudo systemctl enable docker

启动:

bash 复制代码
sudo systemctl start docker

查看状态:

bash 复制代码
systemctl status docker

看到:

复制代码
Active: active (running)

表示成功。


八、配置普通用户运行 Docker(推荐)

默认 Docker 需要:

bash 复制代码
sudo docker ps

为了方便开发,把当前用户加入 docker 组:

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

退出当前 SSH:

bash 复制代码
exit

重新登录。

测试:

bash 复制代码
docker ps

如果没有权限错误:

配置成功。


九、验证 Docker

查看版本:

bash 复制代码
docker version

示例:

复制代码
Docker version 28.x.x

测试运行:

bash 复制代码
docker run hello-world

成功:

复制代码
Hello from Docker!
This message shows that your installation appears to be working correctly.

十、验证 Docker Compose

新版 Compose 已经集成到 Docker:

查看:

bash 复制代码
docker compose version

输出:

复制代码
Docker Compose version v2.x.x

注意:

现在推荐:

bash 复制代码
docker compose up -d

不要再使用:

bash 复制代码
docker-compose up -d

旧版 docker-compose 属于 Compose V1。


十一、Docker Compose 示例

创建目录:

bash 复制代码
mkdir nginx-test

cd nginx-test

创建:

bash 复制代码
vim compose.yaml

写入:

yaml 复制代码
services:

  nginx:
    image: nginx:latest
    container_name: nginx-test
    ports:
      - "8080:80"
    restart: always

启动:

bash 复制代码
docker compose up -d

查看:

bash 复制代码
docker ps

停止:

bash 复制代码
docker compose down

十二、常用 Docker 命令

查看运行容器:

bash 复制代码
docker ps

查看全部:

bash 复制代码
docker ps -a

查看日志:

bash 复制代码
docker logs -f 容器名

进入容器:

bash 复制代码
docker exec -it 容器名 bash

查看镜像:

bash 复制代码
docker images

删除镜像:

bash 复制代码
docker rmi 镜像ID

清理无用资源:

bash 复制代码
docker system prune

十三、国内服务器优化(可选)

如果服务器访问 Docker Hub 较慢,可以配置镜像加速。

创建:

bash 复制代码
sudo mkdir -p /etc/docker

编辑:

bash 复制代码
sudo vim /etc/docker/daemon.json

例如:

json 复制代码
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io"
  ]
}

重启:

bash 复制代码
sudo systemctl restart docker

十四、检查 Docker 配置

查看:

bash 复制代码
docker info

关注:

bash 复制代码
Docker Root Dir

默认:

bash 复制代码
/var/lib/docker

如果磁盘空间不足,可以迁移 Docker 数据目录。


总结

推荐生产环境安装方式:

bash 复制代码
Ubuntu
 |
Docker 官方 APT仓库
 |
docker-ce
 |
containerd
 |
docker compose v2

不要使用:

❌ Ubuntu 自带 docker.io

❌ pip 安装 docker-compose

❌ curl | bash 一键脚本用于生产环境

相关推荐
holidaypenguin16 小时前
前端 Docker 开发与生产部署指南
docker·容器
feasibility.17 小时前
wsl安装Ubuntu方法(含网络不稳定处理)
linux·运维·windows·ubuntu
江湖有缘17 小时前
保姆级教程:使用Docker一键部署Hoodik轻量级安全云盘
安全·docker·容器
xia54204644619 小时前
Docker 远程 API(Remote API)未授权访问漏洞入侵过程
运维·docker·容器
X1A0RAN19 小时前
容器化部署 Jenkins 教程
运维·docker·jenkins
风华同学1 天前
【环境搭建篇】VMware Fusion虚拟机安装Ubuntu 26.04
linux·运维·ubuntu
晚风吹长发1 天前
Docker基础——Docker Compose(容器编排)
linux·运维·服务器·docker·容器
tianyu2341 天前
Docker 数据目录迁移指南
linux·docker·容器·eureka·centos
半句唐诗1 天前
Ubuntu 更新 JS 环境记录
linux·javascript·ubuntu