Gitlab在我们的内部网络上设置http://gitlab
同一台机器上的Docker容器无法连接到它 .
如何配置docker以便它知道gitlab是它的父级?
当Gitlab CI尝试运行构建(在Docker容器内)时,问题就出现了:
克隆到'/ builds / ns / project'...致命:无法访问'http:// gitlab-ci-token:xxxxxx@gitlab/ns/project.git/':无法解析主机'gitlab'
我've tried adding the network'的DNS服务器 DOCKER_OPTS
在 /etc/default/docker
无济于事 .
3 回答
根据GitLab CI Runner Advanced configuration,您可以尝试在GitLab CI运行器中使用
extra_hosts
param . 在/etc/gitlab-runner/config.toml
:在这个例子中,当运行测试git的容器内部将尝试从gitlab克隆时,它将使用
192.168.0.39
作为此主机名的IP .您可以将
--dns
标志的容器dns配置为docker run
(https://docs.docker.com/engine/reference/run/#network-settings),但默认情况下应使用主机dns .如果您的Gitlab安装也作为Docker容器运行,只需将您的gitlab-runner链接到gitlab容器即可:
这样Docker就可以在gitlab-runner中使用主机'gitlab' .