![](/img/trans.png)
[英]Why does my file/dir manipulation works fine on Windows but not on Linux?
[英]Docker: Linux Worker does not join Overlay network defined by Windows Master. Windows Worker works fine
我有以下3个节点..
C:\Users\yadamu>docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
4tpray751pk50bl6o6gtbjfq2 YADAMU-DB5 Ready Active 20.10.8
xzx0gxu1m0qo59z6gtr4j2i1p * yadamu-db3 Ready Active Leader 20.10.8
x1yh3l6m6k73gytkxx3ipimq4 yadamu-db4 Ready Active 20.10.10
在 yadamu-db3 (Manager),一个 Windows 11 机器上,我创建了一个覆盖网络
docker network create --driver overlay --attachable Y_OVERLAY
然后我在 YADAMU-DB3 上使用 docker-compose 启动了一组容器。 他们如期而至,可以互相交谈。 然后我在 YADAMU-DB5 上启动了第二组容器,这也是一个使用不同 docker compose 文件的 Windows 11 机器,它们还可以相互通信以及与在 YADAMU-DB5 上运行的容器通信。
然后,我在运行 Oracle Enterprise Linux 8 的 YADAMU-DB4 上使用 docker compose 启动了第三组容器。这些容器可以相互通信,但与在 YADAMU-DB3 和 YADAMU-DB5 上运行的容器隔离。
所有三个 docker compose 文件都包含以下“网络”部分
networks:
YADAMU-NET:
name: Y_OVERLAY0
attachable : true
但是,当我在 linux 机器上运行 docker-compose 时,我看到
C:\Development\YADAMU\docker\dockerfiles\swarm\YADAMU-DB4>docker-compose up -d
WARNING: The Docker Engine you're using is running in swarm mode.
Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.
To deploy your application across the swarm, use `docker stack deploy`.
Creating network "Y_OVERLAY" with the default driver
Creating volume "YADAMU_01-SHARED" with default driver
当我列出我看到的网络时
C:\Development\YADAMU\docker\dockerfiles\swarm\YADAMU-DB4>docker network ls
NETWORK ID NAME DRIVER SCOPE
b87206cfac4c Y_OVERLAY bridge local
393beef01a7f bridge bridge local
e19e5f965e8d docker_gwbridge bridge local
1b4cbfa566f0 host host local
y58mwnbratkj ingress overlay swarm
32a41d9b3d7c none null local
当我在 YADAMU-DB5 上列出网络时,我看到
C:\Users\Mark D Drake>docker network ls
NETWORK ID NAME DRIVER SCOPE
luh9dw47k5a1 Y_OVERLAY overlay swarm
y58mwnbratkj ingress overlay swarm
8fd8ef298f47 nat nat local
dce21ec8e1ae none null local
所以看起来在 LINUX 框上它没有将 Y_OVERLAY 解析为群管理器定义的覆盖网络。
任何想法我在这里失踪..
请注意,这里的目的不是构建一个有弹性的群,而是构建一个 qa 环境,可用于在有限的硬件上测试 windows 和 linux 主机之间的交互。
我找到了一个解决方法..如果我关闭 linux 节点上的容器,然后将其提升为“管理器”,然后在 linux 节点上运行 docker-compose up,则包含加入 Overlay 网络...
这并没有解释为什么这不适用于作为工作者的 linux 节点,但这意味着我可以继续前进。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.