2017-05-17 22 views
1

1人のマネージャーと2人の作業員のドッカー集団(Docker version 17.03.1-ce)を作成しました。すべてのswarmノードは "ping stackoverflow.com"できますが、swarmサービスコンテナ内では "ping stackoverflow.com"ではなく "ping 8.8.8.8"できますが、ドメイン名を解決することはできません。私は/usr/sbin/dhclient-scriptAWSのDocker Swarm - swarmサービスがインターネットにアクセスできない

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 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 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 

ec2インスタンスが外部ドメイン名に到達でき、外部にも届く可能性があるため、VPCとセキュリティグループが正しく設定されていると思います。 myserviceはなぜ解決できないのですか?例えばstackoverflow.com

答えて

2

問題が解決したようです。

"dns": ["8.8.8.8","8.8.4.4"]~を追加してください。

私は/ etc/default/dockerで同じことをしようとしましたが、動作しませんでした。これは古い方法だと思います。

+0

良い仕事〜!!!この接続問題について数日を費やし、AWSチームと協力していくつかの設定問題が考えられました。 –

関連する問題