Docker 服务上线前的五项检查
Docker 让应用很快跑起来,但“容器正在运行”和“服务可以长期维护”之间仍有距离。上线前,我会重点检查下面五项。
一、端口是否只开放在需要的位置
数据库和内部 API 通常不需要暴露到公网。反向代理后的应用可以只绑定回环地址:
ports:
- "127.0.0.1:8080:8080"
然后通过 ss -lntp 查看宿主机实际监听情况,不能只看 Compose 文件。
二、状态数据是否持久化
明确哪些目录包含数据库、上传文件和运行配置。升级容器前,确认这些路径位于命名卷或宿主机目录中,并纳入备份。
三、镜像版本是否固定
latest 方便试用,却会让不同时间部署的结果不一致。生产环境至少固定版本标签;要求更严格时,可以固定镜像摘要。
四、是否有健康检查
进程存在不代表应用可用。健康检查应访问一个轻量端点,并验证依赖服务已经就绪。部署完成后,还要从反向代理外部再检查一次。
五、资源与重启策略是否合理
设置内存和进程数上限,避免单个容器拖垮整台机器。restart: unless-stopped 适合多数常驻服务,但持续重启也可能掩盖真正的启动错误,因此还需要监控重启次数。
这五项不能覆盖所有安全问题,却能避免自托管环境中最常见的一批故障。