我有一份服务工作
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
(我可以从{{ 1}},我也可以使用该有效IP代替名称docker network inspect ID
-它可以正常工作。)
流道配置相同。我还有其他服务(这是很久以前设置的)的另一项工作,对两个跑步者都适用!很奇怪...
为什么解析服务名称有问题?
答案 0 :(得分:0)
已解决。这是两个问题:a)一台DNS服务器为“ simple1”返回了错误的IP; b)定义了一个ALL_PROXY env变量,它干扰了工作HTTP