GitLab提交代码后Docker容器未更新,求排查问题原因
问题排查与解决
- Docker缓存导致拉取旧镜像:
docker compose up默认会优先使用本地已有的latest镜像,不会主动拉取仓库里的新版本。解决:执行docker compose pull先拉取最新镜像,再启动;或者直接用docker compose up --pull always强制拉取后启动。 - 流水线未正确构建推送新镜像:虽然仓库显示
latest标签,但可能流水线的构建/推送步骤失败、被跳过(比如依赖缓存未更新)。去GitLab流水线页面查看完整日志,确认镜像构建、推送环节是否成功执行,有没有报错或跳过的记录。 - 镜像地址不匹配:核对
docker-compose.yml里的镜像地址和GitLab容器仓库的地址是否完全一致,包括域名、项目路径、端口号(如果有指定),避免因为路径写错拉到了其他仓库的旧镜像。 - 本地挂载覆盖容器内代码:如果
docker-compose.yml里配置了volumes,把宿主机的本地目录挂载到容器内的代码存放路径,容器会优先使用本地挂载的文件,而非镜像里的新代码。检查volumes配置,确认是否有这类挂载,临时注释掉再测试是否生效。
内容的提问来源于stack exchange,提问作者Hugh Barnard
相关产品推荐
相关产品推荐

