Docker和Gitlab - 如何修改docker run

时间:2018-01-08 13:42:35

标签: docker gitlab gitlab-ci-runner

我很想与Docker和Gitlab进行有争议的集成。

我的情况是.gitlab-ci.yml中的脚本需要使用ioncube编码文件,但由于Docker已经放置了一些安全限制,现在完全可以。因此,当我为Gitlab项目开始工作时,我需要修改Gitlab运行的docker run命令。

根据this page ...

  

此外,还需要更改容器上的Docker安全选项,以便通过使用docker run命令的-security-opt seccomp:unconfined选项来使许可过程正常运行。

我需要在docker run调用中添加额外的参数,但由于Gitlab在某处做了,我不知道如何继续。

我有办法让Gitlab在我找工作时加入–security-opt seccomp:unconfined吗?

编辑:我在自己的服务器上托管Gitlab。

1 个答案:

答案 0 :(得分:2)

GitLab CI流程通过GitLab Runner执行它的Pipeline阶段/构建。 (https://docs.gitlab.com/runner/)。

GitLab Runner已注册到GitLab实例或特定的GitLab项目。您在gitlab-ci.yml文件中指定的配置是Runner执行的配置。在您的情况下,您指定GitLab Runner来执行Docker容器。

您可以使用GitLab Runners(https://docs.gitlab.com/runner/configuration/advanced-configuration.html)进行一些高级配置。您要查找的设置位于此部分:https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runners-docker-section

在托管GitLab Runner的服务器上(或托管GitLab Runner的Docker实例中)修改config.toml文件(可能在/etc/gitlab-runner/config.toml)。如果您已注册此Runner以执行Docker容器,则应该看到[runners.docker]部分。您要在此部分添加:

security_opt: ["seccomp:unconfined"]