我很想与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。
答案 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"]