☰
Ubuntu 22.04下Docker生产环境部署与优化指南
2026/11/3 6:47:11 网站建设 项目流程

1. Ubuntu环境下Docker的完整部署指南

在Linux系统中部署容器化环境已成为现代应用开发的标配方案。作为最流行的容器平台,Docker在Ubuntu上的安装过程看似简单,但实际部署时会遇到各种环境依赖和配置问题。本文将基于Ubuntu 22.04 LTS版本,详解从零开始搭建生产级Docker环境的完整流程。

1.1 环境准备要点

在开始安装前,需要确认系统架构和内核版本:

uname -a # 查看内核版本(建议5.4以上) lsb_release -a # 确认Ubuntu版本

对于生产环境,建议优先选择LTS版本并更新所有基础包:

sudo apt update && sudo apt upgrade -y sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

注意:如果之前安装过旧版Docker,必须彻底清理残留文件:

sudo apt remove docker docker-engine docker.io containerd runc sudo rm -rf /var/lib/docker

2. Docker核心安装流程

2.1 官方仓库配置

推荐通过Docker官方仓库安装以保证版本一致性:

# 添加GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 设置稳定版仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.2 安装组件

更新仓库后安装完整组件套件:

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

验证安装成功的正确方式:

sudo docker run hello-world # 应看到欢迎信息 docker --version # 显示版本号如Docker version 24.0.5

2.3 权限配置

为避免每次使用sudo,将当前用户加入docker组:

sudo usermod -aG docker $USER newgrp docker # 立即生效

重要:该操作会使用户获得root等效权限,生产环境需谨慎评估安全风险

3. 镜像管理深度实践

3.1 镜像加速配置

国内访问Docker Hub速度较慢,建议配置镜像加速器。修改或创建/etc/docker/daemon.json:

{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ], "exec-opts": ["native.cgroupdriver=systemd"] }

重启服务使配置生效:

sudo systemctl daemon-reload sudo systemctl restart docker

3.2 镜像生命周期管理

常用镜像操作命令示例:

# 拉取官方镜像 docker pull ubuntu:22.04 # 查看本地镜像 docker images # 删除特定镜像 docker rmi <IMAGE_ID> # 清理悬空镜像 docker image prune

高级镜像构建技巧:

# 通过Dockerfile构建 docker build -t myapp:v1 . # 查看镜像构建历史 docker history <IMAGE_NAME> # 导出/导入镜像 docker save -o myapp.tar myapp:v1 docker load -i myapp.tar

4. 容器网络与存储配置

4.1 网络模式选择

查看当前网络配置:

docker network ls

创建自定义网络:

docker network create --driver=bridge --subnet=172.28.0.0/16 mynet

4.2 持久化存储方案

数据卷管理示例:

# 创建命名卷 docker volume create mysql_data # 挂载使用 docker run -d --name mysql -v mysql_data:/var/lib/mysql mysql:8.0 # 查看卷详情 docker volume inspect mysql_data

绑定挂载实战:

docker run -d -v /host/path:/container/path nginx

5. 生产环境优化建议

5.1 资源限制配置

限制容器资源使用:

docker run -it --cpus="1.5" --memory="512m" ubuntu

5.2 日志管理方案

配置日志驱动和轮转:

{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }

5.3 安全加固措施

关键安全配置:

# 启用用户命名空间 echo '{"userns-remap": "default"}' > /etc/docker/daemon.json # 禁止特权模式 docker run --security-opt=no-new-privileges myapp

6. 常见问题排查指南

6.1 启动故障处理

查看服务状态:

sudo systemctl status docker journalctl -u docker.service -n 50 --no-pager

6.2 网络连接问题

诊断工具:

docker network inspect bridge iptables -t nat -L -n

6.3 存储驱动选择

根据文件系统选择合适驱动:

docker info | grep "Storage Driver"

推荐配置:

{ "storage-driver": "overlay2" }

7. 进阶技巧与工具链

7.1 Docker Compose集成

安装最新版Compose:

sudo apt install docker-compose-plugin docker compose version

示例docker-compose.yml:

version: '3.8' services: web: image: nginx:alpine ports: - "8080:80" db: image: postgres:13 environment: POSTGRES_PASSWORD: example

7.2 可视化监控方案

Portainer管理界面部署:

docker volume create portainer_data docker run -d -p 9000:9000 --name portainer \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce

7.3 镜像安全扫描

使用Trivy进行漏洞检测:

docker run --rm aquasec/trivy image ubuntu:22.04

8. 版本升级与维护

8.1 版本升级路径

查看可用版本:

apt-cache madison docker-ce

指定版本安装:

sudo apt install docker-ce=<VERSION_STRING>

8.2 定期维护任务

清理无用资源:

docker system prune -a --volumes

检查容器健康状态:

docker stats docker ps --filter "status=restarting"

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询