【发布时间】:2017-10-17 07:52:46
【问题描述】:
我创建了一个由一名经理和两名工人组成的 docker swarm (Docker version 17.03.1-ce)。所有 swarm 节点都可以“ping stackoverflow.com”,但在 swarm 服务容器内我可以“ping 8.8.8.8”而不是“ping stackoverflow.com”,它们无法解析域名。
关于我在/usr/sbin/dhclient-script 中的经理
search eu-central-1.compute.internal
nameserver 10.0.0.2
在我在/usr/sbin/dhclient-script 中的一个容器上
search eu-central-1.compute.internal
nameserver 127.0.0.11
options ndots:0
Docker 网络:
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
ID bridge bridge local
ID docker_gwbridge bridge local
ID host host local
ID ingress overlay swarm
ID my_overlay overlay swarm
ID none null local
我是这样启动 docker 服务的:
docker service create \
--name myservice \
--replicas 1 \
--endpoint-mode dnsrr \
--network my_overlay \
--constraint 'node.role == manager' \
--env COOKIE='SRV insert indirect nocache maxidle 30m maxlife 8h' \
--env VIRTUAL_HOST='myservice' \
--env SERVICE_PORTS='8080' \
myservice_image
我认为 AWS VPC 和安全组配置正确,因为 ec2 实例可以访问外部域名,也可以从外部访问。
为什么 myservice 不能解析例如stackoverflow.com?
【问题讨论】:
标签: amazon-web-services docker dns swarm