来自工作节点的容器无法加入群的可连接网络

时间:2018-06-14 10:07:32

标签: docker docker-swarm

在工作节点上使用'docker run'时遇到问题, 方案如下:

我的环境中有三个虚拟机, 他们已经处于Swarn模式。

VM.1 -> Master node in the Swarm
VM.2 -> Worker node in the Swarm
VM.3 -> Worker node in the Swarm

我还通过以下方式在此环境中创建了覆盖网络:

docker network create --attachable --driver overlay --subnet 10.10.0.0/16 --gateway 10.10.0.1 test-net

并成功创建了覆盖网络

# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
fc1b70304011        bridge              bridge              local
f9ca924c1a4d        docker_gwbridge     bridge              local
ea8fc696d6f1        host                host                local
r311gaq7iobo        ingress             overlay             swarm
bd08afac574d        none                null                local
wb7vfpxzdkyt        test-net            overlay             swarm

但是,一旦我使用'docker run'运行容器并让它从工作节点(VM.2和VM.3)加入“test-net”,那么我将遇到以下问题:

    # docker run -itd --name=test --net=test-net kafka:latest
    c0324e6c3a8720b291cfc3aa7980846348f7a4450381036927924c52d343f622
    docker: Error response from daemon: error creating external 
    connectivity network: 
    cannot create network 
    246bb018a15a6641a9cb26afec30c62eb4714816cfc0a307786c8a209a2418e6 
    (docker_gwbridge): 
     conflicts with network 
     0093ca50dcbcf729aeeae537f424727b674843312ef63ea647db48c7b0077e45 
     (docker_gwbridge): networks have same bridge name.

但是,如果我在主节点上使用相同的'docker run'命令,它将会工作,我已经将这个问题谷歌了一段时间,但仍然不了解工作节点上发生了什么......

感谢您的阅读和帮助!

1 个答案:

答案 0 :(得分:0)

在调查期间,

此问题不是在另一台计算机/发行版上100%复制的。

docker run -itd --name=test --net=test-net kafka:latest可以使用某些计算机

但是,如果上述方法不适用于特定计算机,

然后您可以尝试先不使用--net来运行容器,

然后将docker network connect --ip <ipaddress> <network> <container>用于

在容器上附加特定网络。