Docker 实践 · 约 4 分钟阅读

一台 Debian 服务器运行多个容器,如何整理?

统一目录、端口、网络和命名,减少日后维护成本。

Docker 实践主题插画

用项目而不是镜像来管理

把服务按用途分组,例如 photos、notes、home,每组有自己的 compose.yaml、数据目录和 README。不要把十几个没有关系的服务都塞进一个巨大 Compose 文件,否则更新一个应用时更容易误伤其他服务。

先做一份服务清单

每个服务记录四件事:对外访问端口、存储位置、依赖的其他服务、重建步骤。端口最好集中登记,避免多个服务争抢同一个宿主机端口。

/srv/apps/
  photos/
    compose.yaml
    README.md
  notes/
    compose.yaml
    data/
  monitoring/
    compose.yaml

网络隔离要有边界

同一 Compose 项目里的服务通常可通过服务名称互相访问。跨项目通信时,要明确是否确实需要共用网络,而不是为了方便把所有容器放进同一个大网络。数据库只供应用访问时,不必在主机上映射数据库端口。

备份范围不止 Compose

项目文件只能描述如何启动;照片、数据库、上传附件才是最难重建的部分。应将两者分别纳入备份计划,并定期拿一台测试机器演练恢复。

维护的终点是可理解

半年后你打开这台服务器,应该能够在几分钟内回答:哪个容器负责什么、哪个目录能删、数据在哪、如何停机维护。这就是良好整理的价值。

以上内容用于经验交流。实际操作前,请核对设备型号、软件版本与官方说明,并备份重要配置。

← 返回Docker 实践专题