最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Docker 容器生产环境部署如何配
时间:2026-09-04 20:34:49 编辑:袖梨 来源:一聚教程网
生产环境部署Docker容器必须配置安全、稳定、可观测、可维护四大要素:强制资源限制(--memory、--cpus)、只读根文件系统(--read-only)、健康检查(HEALTHCHECK)、日志轮转(--log-opt)、配置与数据持久化挂载、固定版本镜像、密钥外部管理及Alpine精简基础镜像。
生产环境部署 Docker 容器,不是“跑起来就行”,而是要兼顾**安全、稳定、可观测、可维护**。核心不在命令多复杂,而在关键配置是否到位。下面直接说重点。基础运行参数必须加
裸用 docker run nginx 在生产中等于埋雷。至少补全这些:
- --restart=unless-stopped:宿主机重启后自动拉起容器,避免服务中断
- --memory=512m --cpus=0.5:限制资源,防止单个容器吃光服务器(Web 服务建议从 512MB 内存起步)
-
--read-only:根文件系统设为只读,阻断恶意写入(需配合
--tmpfs或-v挂载可写路径) - --pids-limit=100:限制进程数,防 fork 炸弹类攻击
健康检查不能少
容器“running”不等于服务可用。比如数据库容器启动了,但初始化还没完,应用连上去就失败。
正确做法是用 HEALTHCHECK 验证业务层面是否就绪:
- Nginx/HTTP 服务:
curl -f http://localhost/health || exit 1 - PostgreSQL:
pg_isready -U user -d dbname - 配在 Dockerfile 里,或
docker-compose.yml的healthcheck字段中 - 务必设
interval、timeout、retries,避免误判
日志和存储要持久化
默认日志存在 /var/lib/docker/ 下,不轮转会撑爆磁盘;配置文件硬编码进镜像,升级就丢配置。
-
日志:加
--log-opt max-size=100m --log-opt max-file=3,自动切割保留 -
配置文件:用
-v /host/conf/nginx.conf:/etc/nginx/nginx.conf:ro挂载,不打包进镜像 -
数据目录:如 MySQL 的
/var/lib/mysql、Redis 的/data,必须挂载到宿主机或命名卷
镜像和密钥要管住
两个高频翻车点:用 latest 镜像导致行为突变;把密码明文写进 docker-compose.yml 提交到 Git。
-
镜像标签:固定版本,例如
nginx:1.27-alpine,不用latest -
密钥管理:用
docker secrets(Swarm)或env_file+.env.prod(Compose),且该文件不进 Git -
基础镜像选型:优先
alpine系列(小、轻、攻击面小),避免ubuntu:latest这类大而全的镜像
相关文章
- TPLink TLWR845N 无线路由器上网控制管控网络权限设置指南 09-04
- TPLink TLWR845N 无线路由器IP带宽控制功能分配带宽设置 09-04
- TPLink TLWR845N 无线路由器家长控制上网功能设置教程 09-04
- 箭头会拐弯游戏小程序无广告版下载最新—无限资源修改作弊版 09-04
- 咒语旅团麦琪角色如何 09-04
- 通义灵码全局异常控制怎么解决-原因和修复方法 09-04