Docker 和 Gitlab - 如何修改 docker run

Dug*_*ugi 2 gitlab docker gitlab-ci-runner

我对 Docker 和 Gitlab 的有争议的集成非常陌生。

\n\n

我遇到的情况是,我的脚本.gitlab-ci.yml需要使用 ioncube 对文件进行编码,但由于 Docker 设置了一些安全限制,现在完全可以这样做。因此,我需要修改docker run当我为我的 Gitlab 项目启动作业时 Gitlab 运行的命令。

\n\n

根据此页面...

\n\n
\n

此外,需要更改容器上的 Docker 安全选项,才能通过使用 docker run 命令的 \xe2\x80\x93security-opt seccomp:unconfined 选项来运行许可过程。

\n
\n\n

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

\n\n

\xe2\x80\x93security-opt seccomp:unconfined有没有办法让我在运行作业时包含 Gitlab ?

\n\n

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

\n

dis*_*lux 6

GitLab CI 流程通过 GitLab Runner 执行其管道阶段/构建。(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"]
Run Code Online (Sandbox Code Playgroud)

  • `security_opt = ["seccomp:unconfined"]` 为我工作 (3认同)