如何保存用于在Gitlab CI中执行构建的Docker容器?

Jan*_*een 6 gitlab-ci gitlab-ci-runner

我将Gitlab CI与使用Docker的运行程序结合使用。在Gitlab中一个项目的git仓库中,我放置了一个.gitlab-ci.yml文件。推送此文件将使运行程序根据我提供的Docker映像创建Docker容器。然后,它运行yml文件中规定的构建步骤。构建成功后,这将非常有效。

但是,当构建失败时,我希望能够在用于运行此构建的Docker容器中找到原因。这可能吗?

'docker ps'的输出显示该容器在构建期间正在运行,但是此后'docker ps -a'的输出显示该容器已被完全删除。有什么办法可以防止这种情况?

Rub*_*num 0

目前,这并不是开发商的本意。也许这是可能的,但如果有办法做到这一点,如果您在运行容器后想要容器,那么它会比有用更复杂。我会说不。在我看来,这违背了使用 docker 进行测试的基本理念。

但我有一个解决方法的想法:

假设您有一个包含.gitlab-ci.yml文件的项目。无论安装了 docker,你都可以自己运行一个 docker 容器:

docker run -it debian:latest

并自己运行测试。我认为这种方式不太实用,但也是一种可能的方式。也许有帮助。

  • 我认为他想要保存容器的原因是为了更容易调试,如果构建过程出现问题,如果我们能以某种方式保留容器,那么修复它会非常简单 (2认同)