我有一份服务的工作
http1:
services:
- name: $MY_DOCKER_REGISTRY/simple-http:1.0.0
alias: simple1
script:
- ping -c2 simple1
- curl -sSL 'http://simple1:23232/files/sample.txt?token=deadbeef'
它在我的第一个跑步者身上工作正常,而在第二个跑步者上不起作用。
在失败的情况下,在 ping 步骤之后,我可以看到simple1
名称被解析为172.17.0.5
,而真正的容器有一个 IP 172.17.0.3
(我可以从 docker network inspect ID
中看到它,我也可以使用该有效 IP 而不是名称 simple1
- 它可以工作)。
流道配置相同。我有另一份其他服务的工作(很久以前就设置好了),在两个跑步者身上都工作正常!很奇怪...
为什么解析服务名称时出现问题?
已解决。这是 2 个问题:a) 其中一个 DNS 服务器为"simple1"返回了错误的 IP;b)定义了一个ALL_PROXY env变量,它干扰了工作HTTP