非常好 👍 阿杰,这是最新版的 《Ubuntu Docker 容器化部署教程》 —— 从零配置环境到部署容器、Compose 与镜像管理的完整手册。
(内容兼容 Ubuntu 20.04 / 22.04 / 24.04)


🧩 一、前置条件

✅ 系统要求

  • 操作系统:Ubuntu 20.04+
  • CPU:x86_64 或 ARM64
  • 用户:具备 sudo 权限

🧱 二、安装 Docker Engine

1️⃣ 更新系统与依赖

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

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️⃣ 添加 Docker 软件源

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

4️⃣ 安装 Docker Engine

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

5️⃣ 验证安装

docker --version

输出类似:

Docker version 27.2.0, build 7e7bc3


⚙️ 三、启动与配置 Docker

启动 Docker 服务并设置开机自启

sudo systemctl enable docker --now

检查状态

sudo systemctl status docker

将当前用户加入 docker 组(免 sudo 执行)

sudo usermod -aG docker $USER
newgrp docker

验证:

docker ps


🐳 四、运行第一个容器

docker run hello-world

如果看到:

Hello from Docker!
说明安装成功 🎉


🧰 五、常用 Docker 命令

功能命令
查看运行容器docker ps
查看所有容器docker ps -a
启动容器docker start <容器名>
停止容器docker stop <容器名>
删除容器docker rm <容器名>
查看镜像docker images
删除镜像docker rmi <镜像ID>
查看日志docker logs <容器名>
进入容器docker exec -it <容器名> bash

🧩 六、镜像管理示例:部署 Nginx

拉取镜像

docker pull nginx:latest

运行容器

docker run -d \
  --name nginx-demo \
  -p 8080:80 \
  nginx

验证访问

浏览器访问:

http://服务器IP:8080

即可看到 Nginx 默认欢迎页。


🗂️ 七、Docker Compose 安装与使用

1️⃣ 安装 Compose 插件

已在上面通过 docker-compose-plugin 安装完毕,可验证:

docker compose version

2️⃣ 示例:运行一个 Web + Redis 应用

创建 docker-compose.yml

version: '3.8'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  redis:
    image: redis
    ports:
      - "6379:6379"

启动:

docker compose up -d

停止并清理:

docker compose down


🧱 八、持久化与数据卷

创建持久化卷

docker volume create my_data

挂载卷运行容器

docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -v my_data:/data/db \
  mongo:latest


🧾 九、Docker 网络模式简介

模式说明
bridge默认模式,容器在虚拟网桥上通信
host容器使用主机网络(高性能)
none容器无网络连接
overlay用于 Swarm 集群中跨主机通信

示例:

docker run -d --network host nginx


🛠️ 十、Docker 常见问题

问题解决方法
容器时区不对-v /etc/localtime:/etc/localtime:ro 挂载主机时区
占用大量磁盘空间docker system prune -a 清理无用镜像
修改镜像源编辑 /etc/docker/daemon.json 添加国内镜像源(如下)
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://mirror.baidubce.com",
    "https://registry.cn-hangzhou.aliyuncs.com"
  ]
}

重启服务:

sudo systemctl restart docker


📦 十一、升级与卸载 Docker

升级

sudo apt update
sudo apt upgrade docker-ce docker-ce-cli containerd.io -y

卸载

sudo apt purge docker-ce docker-ce-cli containerd.io -y
sudo rm -rf /var/lib/docker


🎯 十二、测试示例:运行 MongoDB 容器

docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -v mongo_data:/data/db \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=123456 \
  mongo:latest

连接:

docker exec -it mongodb mongosh -u admin -p 123456


✅ 十三、总结

你现在已掌握:

  • ✅ 在 Ubuntu 上安装 Docker Engine
  • ✅ 管理镜像与容器
  • ✅ 使用 Docker Compose
  • ✅ 创建持久化卷与网络
  • ✅ 部署常用服务(如 Nginx / MongoDB)

是否希望我帮你生成一份:
📘《Ubuntu Docker 容器化部署图文教程.pdf》
👉 带完整命令、说明与截图版(适合收藏与教学)?