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 一键脚本用于生产环境

相关推荐
郝开6 小时前
Docker Compose 本地环境搭建:kkFileView
运维·docker·容器
hkNaruto7 小时前
【Linux】Ubuntu 22.04 LTS GNOME 原生远程桌面配置:告别vnc、nomachine
linux·运维·ubuntu
jufeng13079 小时前
【系列:TDengine 工业物联网实战:从零搭起可运行系统 · 第 10 篇】
docker·时序数据库·tdengine·高可用
Eloudy10 小时前
Ubuntu 22.04 从源码编译安装 ROS 2 Jazzy 笔记
linux·笔记·ubuntu
伞伞悦读11 小时前
Docker 安装 MinIO 完整教程(新手友好版)
docker·容器·eureka
Lethehong11 小时前
把Blinko放进极空间:Docker 部署自托管笔记,并实现多设备远程访问
笔记·docker·容器
xrlfreedom1 天前
大厂 MCP 面试实录:内部 REST API 封装为可审计 MCP Tools 的落地方案
docker·mcp·提示注入防护
摇滚侠1 天前
《Docker技术入门与实战 第4版》阅读笔记 2 Docker 镜像
笔记·docker·容器
云原生指北1 天前
Docker Sandboxes 工作区怎么接:Direct、Clone 和它们的边界
git·docker·agent
玉宇夕落1 天前
Docker + Nginx + Node.js 容器化部署 —— 从零到一理解反向代理与容器化原理
docker