【发布时间】:2021-11-08 05:51:09
【问题描述】:
我有以下 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 解析为由 swarm manager 定义的覆盖网络。
我在这里缺少的任何想法..
请注意,这里的目的不是构建一个有弹性的集群,而是构建一个 qa 环境,可用于在有限的硬件上测试 windows 和 linux 主机之间的交互。
【问题讨论】:
标签: linux windows docker docker-compose docker-swarm