容器里改代码,别踩这三个坑
改了没生效,多半不是你的错觉。
在容器里改东西,最容易出现的困惑是"我明明改了,怎么没变"。
三个坑
- 配置热重载 ≠ 代码热重载。配置改了可能立即生效,代码改了必须重启进程。唯一可靠的证据是目标服务的访问日志。
- 改了镜像内的文件,重建就没了。要么写进镜像,要么挂载卷,别做"一次性修补"还当成长久方案。
- 挂载目录的属主。宿主机上的文件权限和容器内用户不一致,表现成"读得到但写不进去"。
验证生效的正确姿势:打一个只有新版才会出现的日志,或者看版本号字段,而不是看进程还在不在。