← 返回文章FIELD NOTE

Docker 服务上线前的五项检查

Docker 让应用很快跑起来,但“容器正在运行”和“服务可以长期维护”之间仍有距离。上线前,我会重点检查下面五项。

一、端口是否只开放在需要的位置

数据库和内部 API 通常不需要暴露到公网。反向代理后的应用可以只绑定回环地址:

ports:
  - "127.0.0.1:8080:8080"

然后通过 ss -lntp 查看宿主机实际监听情况,不能只看 Compose 文件。

二、状态数据是否持久化

明确哪些目录包含数据库、上传文件和运行配置。升级容器前,确认这些路径位于命名卷或宿主机目录中,并纳入备份。

三、镜像版本是否固定

latest 方便试用,却会让不同时间部署的结果不一致。生产环境至少固定版本标签;要求更严格时,可以固定镜像摘要。

四、是否有健康检查

进程存在不代表应用可用。健康检查应访问一个轻量端点,并验证依赖服务已经就绪。部署完成后,还要从反向代理外部再检查一次。

五、资源与重启策略是否合理

设置内存和进程数上限,避免单个容器拖垮整台机器。restart: unless-stopped 适合多数常驻服务,但持续重启也可能掩盖真正的启动错误,因此还需要监控重启次数。

这五项不能覆盖所有安全问题,却能避免自托管环境中最常见的一批故障。