生产环境部署docker的核心是稳定、安全、可维护,需验证内核≥3.10且overlay2已启用,使用官方源安装,配置daemon.json设置镜像加速、日志限制和ulimit,并创建专用用户加入docker组。

生产环境部署 Docker,核心是稳定、安全、可维护,不是装上就行。重点在于选对安装方式、验证基础依赖、配置关键参数,并做好权限与网络规划。
确认系统与内核兼容性
生产环境不接受“差不多”,必须提前验证两项硬性条件:
- 运行
uname -r检查内核版本,要求 ≥ 3.10;CentOS/RHEL/Rocky 推荐 4.x 或更高,避免 overlay2 驱动不稳定 - 执行
lsmod | grep overlay,有输出才表示内核已启用 overlay2 —— 这是现代 Docker 默认且推荐的存储驱动,比 devicemapper 更轻量、更可靠 - 确保系统为 64 位,cgroups 和 namespaces 功能已默认开启(主流发行版均满足)
使用官方源安装 Docker 引擎
跳过系统自带仓库(如 CentOS 的 epel 或 Ubuntu 的 snap 版),直接采用 Docker 官方稳定源,避免版本碎片和安全滞后:
- Ubuntu/Debian:导入 GPG 密钥 + 添加
https://download.docker.com/linux/ubuntu源,再安装docker-ce、docker-ce-cli、containerd.io及docker-compose-plugin - CentOS/RHEL/Rocky:用
yum-config-manager --add-repo添加官方 CE 稳定源,再安装相同组件 - 统一执行
systemctl enable --now docker启动服务并设开机自启
配置生产级守护进程参数
安装完必须编辑 /etc/docker/daemon.json,这是生产环境最关键的配置文件:
- 镜像加速器:国内服务器必配,例如
"registry-mirrors": ["https://docker.xuanyuan.me"],解决拉取超时或失败问题 - 日志限制:添加
"log-driver": "json-file"和"log-opts",防止容器日志无限增长占满磁盘 - 默认 ulimit:可设
"default-ulimits": { "nofile": { "Name": "nofile", "Hard": 65536, "Soft": 65536 } },避免高并发下文件描述符不足 - 修改后运行
sudo systemctl daemon-reload && sudo systemctl restart docker生效
权限与用户组管理
避免日常操作总加 sudo,但也不应直接用 root 运行容器:
- 创建专用运维用户(如
deploy),加入docker组:sudo usermod -aG docker deploy - 禁止将非信任用户加入该组,
docker组等价于 root 权限 - 重启用户会话或执行
newgrp docker使组权限立即生效 - 验证:切换到该用户后,运行
docker run --rm hello-world应成功输出











