Docker:Linux Worker不加入由Windows Master定义的Overlay网络.Windows Wo



我有以下3个节点。。

C:Usersyadamu>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文件的Windows11盒子,它们也可以相互交谈,也可以与YADAMUDB5上运行的容器交谈。

然后,我在运行OracleEnterpiseLinux8的YADAMU-DB4上使用docker-compose启动了第三组容器。这些容器可以相互通信,但与在YADAMU-DB3和YADAMUDB5上运行的容器隔离。

所有三个docker组成的文件都包含以下"网络"部分

networks: 
YADAMU-NET:
name: Y_OVERLAY0
attachable : true

然而,当我在linux盒子上运行docker compose时,我看到了

C:DevelopmentYADAMUdockerdockerfilesswarmYADAMU-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:DevelopmentYADAMUdockerdockerfilesswarmYADAMU-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:UsersMark 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解析为由群管理器定义的覆盖网络。

你知道我在这里错过了什么吗。。

请注意,这里的目的不是构建一个resiliant swarm,而是构建一个qa环境,用于在有限的硬件上测试windows和linux主机之间的交互。

我找到了一个解决方法。。如果我在linux节点上关闭容器,然后将其提升为"Manager",然后在linux节点运行docker compose up,则contains将加入Overlay网络。。。

这并不能解释为什么这不能作为一个工作程序与linux节点一起工作,但这意味着我可以继续前进。

相关内容

  • 没有找到相关文章

最新更新