Dae*_*ach 5 docker gitlab-ci gitlab-ci-runner
我有一个私人 git 存储库。我的跑步者在一台单独的机器上,都是 ubuntu。当我尝试在 yml 文件中 ping $CI_REGISTRY 时,我在构建过程中看到 $CI_REGISTRY 域名未解析为正确的 IP 地址。我需要访问服务器的内部地址,而不是外部地址,因此我在运行 gitlab runner 的主机上设置了一个具有正确地址的主机文件,但执行器忽略了它。奇怪的是,它提供的地址是 cloudflare 网络上的内部地址,而不是我试图访问的主机的外部地址,就像我预期的那样,如果它正在进行 DNS 查找。
我怎样才能:
通过修改 /etc/gitlab-runner/config.toml 解决了这个问题:
[[runners]]
...
[runners.docker]
...
privileged = true
extra_hosts = ["repo.mydomain.com:172.23.8.182"]
Run Code Online (Sandbox Code Playgroud)
您需要修改容器的/etc/hosts
文件,而不是主机的主机文件。最简单的方法是选择--add-host
。
这是文档:
\n\n\n将条目添加到容器主机文件(--add-host)
\n\n
/etc/hosts
您可以使用一个或多个标志将其他主机添加到container\xe2\x80\x99s文件中--add-host
。此示例为名为 的主机添加静态地址docker
:Run Code Online (Sandbox Code Playgroud)\n$ docker run --add-host=docker:10.180.0.1 --rm -it debian\n\nroot@f38c87f2a42d:/# ping docker\nPING docker (10.180.0.1): 48 data bytes\n56 bytes from 10.180.0.1: icmp_seq=0 ttl=254 time=7.600 ms\n56 bytes from 10.180.0.1: icmp_seq=1 ttl=254 time=30.705 ms\n^C--- docker ping statistics ---\n2 packets transmitted, 2 packets received, 0% packet loss\nround-trip min/avg/max/stddev = 7.600/19.152/30.705/11.553 ms\n
(来源。)
\n 归档时间: |
|
查看次数: |
7420 次 |
最近记录: |