如何配置GitLab-CI-Runner使其保留Docker容器?
禁用GitLab-CI Docker容器自动删除的两种方法
一、临时针对单个作业保留容器(推荐)
如果只是调试某一次失败的作业,无需全局修改,直接在.gitlab-ci.yml的对应job中添加变量配置:
your_job_name: stage: test variables: DOCKER_RUN_OPTS: "--rm=false" # 禁用容器自动删除 script: - your-test-commands
作业执行失败后,用以下命令找到目标容器:
docker ps -a
找到对应容器的ID或名称后,执行进入容器的命令(根据镜像使用的shell调整,比如/bin/sh):
docker exec -it <容器ID/名称> /bin/bash
二、全局配置Runner保留所有容器(仅临时调试用)
如果需要长期调试多个作业,可以修改GitLab Runner的配置文件:
- 打开Runner配置文件,通常路径为
/etc/gitlab-runner/config.toml - 在
[[runners]]段落下添加一行配置:
dont_delete_containers = true
- 重启GitLab Runner服务生效:
sudo gitlab-runner restart
⚠️ 注意:调试完成后务必将该配置改回false并重启服务,否则大量废弃容器会持续占用磁盘空间。
内容的提问来源于stack exchange,提问作者NicoNing
相关产品推荐
相关产品推荐

