[英]Docker swarm on AWS - swarm services cannot access internet
我已經創建了一個由一名經理和兩名工人組成的Docker version 17.03.1-ce
swarm( Docker version 17.03.1-ce
)。 所有群集節點都可以“ ping stackoverflow.com”,但是在群集服務容器中,我可以“ 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
?
看來問題已解決。
我想將"dns": ["8.8.8.8","8.8.4.4"]
到/etc/docker/daemon.json
。
我試圖在/ etc / default / docker中做同樣的事情,但是沒有用,我想那是老方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.