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

相关推荐
amcomputer8 分钟前
Docker 常用命令总结:从安装到日常使用
运维·docker·容器
张张123y24 分钟前
2026 Agent 框架怎么选?拆 3 层底层逻辑(运行循环 / 记忆 / 工具协议)+ 一张决策表
linux·ubuntu·microsoft·langgraph·mcp·crewai·agent 框架
一级新生2 小时前
Dify 日常使用手册(小白版)
人工智能·docker·云原生·eureka·dify·ai工具
longerxin20203 小时前
Ubuntu 22.04 ARM64 云镜像开启 root 密钥登录(保留 ubuntu 密钥登录,禁止密码登录)
数据库·ubuntu·postgresql
YuanDaima20483 小时前
系统架构与数据库理论基础:PostgreSQL 与 pgvector
数据库·人工智能·docker·postgresql·系统架构·产品经理
skywalk81633 小时前
FreeBSD仿真环境里的Ubuntu linux系统,安装软件的时候不支持snap怎么办?
linux·运维·ubuntu·系统·freebsd
Cry丶13 小时前
ubuntu安装vsftpd
服务器·网络·ubuntu
程序员-King.16 小时前
【ROS1】Noetic 开发工作流程与常用命令
c++·ubuntu·ros
程序员老赵18 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台
sql·docker·开源
承渊政道20 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp