Docker 部署后端服务要关注可替换性

Docker 部署的好处不只是能跑在容器里,而是让服务更容易替换、回滚和迁移。要做到这一点,镜像、配置、日志和数据都要有清晰边界。

镜像只放应用

镜像应该尽量只包含应用运行所需内容,不要把环境配置、临时数据、日志文件都固化进去。配置应该通过环境变量、配置文件挂载或配置中心注入。

这样同一个镜像才能在不同环境复用。否则每个环境都做一个镜像,部署会越来越乱。

数据要放在容器外

容器可以删除重建,所以重要数据不能只存在容器内部。上传文件、数据库数据、持久化日志,都应该放到挂载目录或独立存储里。

这不是形式问题,而是关系到服务能不能迁移和恢复。

日志要方便收集

容器里的日志最好输出到标准输出,或者有明确的挂载目录,方便统一收集。不要让日志散落在容器内部,否则排查问题时还要先找日志在哪。

日志策略要和部署方式配套。单机部署和集群部署的收集方式可能不同,但目标都是让问题能被看见。

复盘

Docker 部署要关注可替换性。一个服务如果能快速重建、配置外置、数据不丢、日志可查,才真正享受到容器化带来的维护收益。

参考