Gitlab 设置在我们的内部网络上http://gitlab http://gitlab
同一台机器上的 Docker 容器无法连接到它。
如何配置 docker 以使其知道 gitlab 是其父级?
当 Gitlab CI 尝试运行构建(在 Docker 容器内)时,问题就会出现:
克隆到“/builds/ns/project”...致命:无法访问
'http://gitlab-ci-token:xxxxxx@gitlab/ns/project.git/ http://gitlab-ci-token:xxxxxx@gitlab/ns/project.git/':不能
解析主机“gitlab”
我尝试将网络的 DNS 服务器添加到DOCKER_OPTS
in /etc/default/docker
无济于事。
根据GitLab CI Runner 高级配置 https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/configuration/advanced-configuration.md#the-runnersdocker-section,你可以尝试玩extra_hosts
GitLab CI 运行程序中的参数。
在/etc/gitlab-runner/config.toml
:
[[runners]]
url = "http://gitlab/ci"
token = "TOKEN"
name = "my_runner"
executor = "docker"
[runners.docker]
host = "tcp://<DOCKER_DAEMON_IP>:2375"
image = "..."
...
extra_hosts = ["gitlab:192.168.0.39"]
在这个例子中,当在容器内运行测试时 git 将尝试从gitlab,它将使用192.168.0.39
作为该主机名的 IP。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)