如何解决使用 weavenet 和 docker swarm 连接服务
https://www.weave.works/docs/net/latest/install/plugin/plugin-v2 我用 docker swarm 安装了 weave net
docker plugin install weaveworks/net-plugin:latest_release
我创建了一个编织网络
docker network create --driver=weaveworks/net-plugin:latest_release mynetwork
我创建了 2 个使用该网络的服务
docker service create --name redis --network=mynetwork redis:3.0.6
docker service create --name redis2 --network=mynetwork redis:3.0.6
如果我做了 docker ps 我可以看到容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c15d6b6686ec redis:3.0.6 "/entrypoint.sh redi…" 21 minutes ago Up 21 minutes 6379/tcp redis2.1.xxxxxxx
8f5bd13e061f redis:3.0.6 "/entrypoint.sh redi…" 22 minutes ago Up 22 minutes 6379/tcp redis.1.0xxxxxxxx
每当我在其中一个容器中输入 exec shell 并 ping 另一个容器时,它就会工作
docker exec -it redis2.1.xxxxxxxxx bash
root@c15d6b6686ec:/data# ping redis.1.0wss1gkpuluoir4iogm5zm9an
PING redis.1.xxxxxxxxxxx (10.x.x.x): 56 data bytes
64 bytes from 10.x.x.x: icmp_seq=0 ttl=64 time=0.289 ms
64 bytes from 10.x.x.x: icmp_seq=1 ttl=64 time=0.082 ms
64 bytes from 10.x.x.x: icmp_seq=2 ttl=64 time=0.058 ms
64 bytes from 10.x.x.x: icmp_seq=3 ttl=64 time=0.083 ms
但我无法 ping 诸如
之类的服务ping redis2
ping redis
虽然为他们分配了ip,但他们不ping 我的问题简而言之,我们可以将 docker swarm 服务视为具有一个 ip 的单一服务,并将其视为一个单独的实体来调用它的端口
或者只是容器连接到其他容器,如 docker compose
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。