【问题标题】:Docker Slave Connect to Docker Gitlab | Docker DNSDocker Slave 连接到 Docker Gitlab |码头工人 DNS
【发布时间】:2018-02-06 03:52:58
【问题描述】:

所以我有一点 docker 网络问题,我无法开始工作。我的所有系统都有一个撰写文件。 gitlab、sonar、nexus、jenkins 都在这个 compose 文件中。 容器:prod-gitlab、prod-jenkins、prod-sonar、prod-nexus 我将我的 jenkins 从站设置为使用 Docker 插件,因此可以根据需要创建从站。 prod-jenkins 连接到的 docker 主机与运行 prod-jenkins 的主机相同。所以这一切都在同一台主机上,不需要外部 PC。 现在,我的问题是我的 docker slave 无法访问 prod-gitlab 来检索源代码。我的 prod-jenkins 能够解析主机名“prod-gitlab”,因为它们位于同一个 compose 文件中(即在同一个 docker 网络上)。 即使我添加了环境变量 --link systems_prod-gitlab_1 或者我只是添加了 --network systems,我也找不到将我的 docker slave 链接到这个网络的方法。重要的是要注意 gitlab 在端口 80 上运行。所以我在内部端口为 80 时公开端口 8081。我无法在我的构建中指定外部端口(8081),因为这样 jenkins 将无法与 gitlab 连接并会抛出一个错误。我想到的一个解决方案是找到一种方法让 gitlab 在 80 以外的端口上运行并进行内部和外部匹配,但我只想在绝对必须的情况下这样做。所以我想简化 “我如何让我的 docker slave 进入我所有系统的 docker 网络,因为即使我现在可以将它连接到 gitlab,它稍后也会无法连接到 nexus 和声纳。所以我需要它们在同一个 docker 网络上”

【问题讨论】:

    标签: docker jenkins docker-compose docker-networking jenkins-slave


    【解决方案1】:

    实际上插件有一个名为“容器设置”的部分,您可以在其中指定 docker 网络。对不起,伙计们,我知道这必须很简单。我猜另一部分里面的环境部分是用于构建环境变量的。

    【讨论】:

      【解决方案2】:

      我在 Ubuntu 配置上的主 / 从设备也有类似的问题。主机在 Ubuntu 16.04 上运行,从机在 Ubuntu 18.04 上运行。经过多次检查,我在 Ubuntu 16.04 上创建了从属服务器,它们没有 DNS 问题。

      【讨论】:

        猜你喜欢
        • 2018-01-01
        • 1970-01-01
        • 2021-11-08
        • 1970-01-01
        • 1970-01-01
        • 2018-12-04
        • 1970-01-01
        • 1970-01-01
        • 2020-01-08
        相关资源
        最近更新 更多