【问题标题】:How to set the hostname for docker container when using Gitlab CI使用 Gitlab CI 时如何设置 docker 容器的主机名
【发布时间】:2020-03-08 19:24:30
【问题描述】:

我正在尝试使用 docker 映像设置 Gitlab CI 管道。出于某种原因,我需要将 docker 容器的主机名设置为特殊值。

在本地运行 docker 容器时,可以通过指定 -h|--hostname 选项来完成。但是在gitlab的官方帮助文档中,在.gitlab-ci.yml文件中设置'image'似乎只支持'name'和'entrypoint'关键字。

有没有设置 docker 容器的主机名?

【问题讨论】:

    标签: docker gitlab gitlab-ci


    【解决方案1】:

    最后我自己从这个页面找到了一个解决方案:https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersdocker-section

    这是我的步骤:

    1. 运行“gitlab-runner register”注册一个运行器并选择docker 作为执行人。
    2. 打开 /etc/gitlab-runner/config.toml 文件。
    3. 将 'hostname = "xxxx"' 插入到 '[runners.docker]' 部分 注册的跑步者。

    要限制将使用第 3 步中设置的主机名的 docker 容器,您可以:

    • 将 'allowed_images = ["xxx:xxx"]' 插入已注册跑步者的 '[runners.docker]' 部分。
    • 为跑步者设置一些标签,并在 .gitlab-ci.yml 文件中指定“标签”和“图像”。

    【讨论】:

    • 我尝试在我的 gitlab-ci.yml 文件的before_script: 部分下运行gitlab-runner register,但得到“找不到命令”,所以我认为这不是你使用它的方式。您知道在 docker 容器运行后更改主机名的方法吗?
    • @JoeTidee 我在安装了 docker-ce 的测试操作系统下运行gitlab-runner register,只需在 gitlab-ci.yml 中指定 docker 映像。容器将在管道期间由 gitlab 创建和销毁。您似乎正在尝试在现有跑步者正在执行的作业中注册一个新跑步者,并且跑步者环境下没有gitlab-runner。要更改容器的主机名,您可以试试这个:serverfault.com/questions/716719/…
    猜你喜欢
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 2015-04-26
    相关资源
    最近更新 更多