非常好 👍 阿杰,这是最新版的 《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》
👉 带完整命令、说明与截图版(适合收藏与教学)?
发表回复