【问题标题】:Docker swarm on AWS - swarm services cannot access internetAWS 上的 Docker 群 - 群服务无法访问互联网
【发布时间】: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


    【解决方案1】:

    看来问题解决了。

    我必须将"dns": ["8.8.8.8","8.8.4.4"] 添加到/etc/docker/daemon.json

    我尝试在 /etc/default/docker 中做同样的事情,但没有成功,我猜这是老办法了。

    【讨论】:

    • 干得好~!!!在这个连接问题上花了几天时间,并与 AWS 团队合作被认为是一些设置问题。
    猜你喜欢
    • 2021-09-23
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    • 2020-09-28
    • 2014-11-16
    • 2016-02-20
    • 2019-08-23
    相关资源
    最近更新 更多