docker运行容器加入到docker swarm模式下创建的overlay模式的network

swarm在设计之初是为了service(一组container)而服务的,因此通过swarm创建的overlay网络在一开始并不支持单独的container加入其中。但是在docker1.13, 我们可以通过“--attach” 参数声明当前创建的overlay网络可以被container直接加入。

如果docker swarm模式下创建的overlay模式的network没有使用“--attach”参数,单独启容器加入该网络时会有报错:(提示你没有权限手动添加)

docker: Error response from daemon: Could not attach to network zookeeper_overlay-net: rpc error: code = PermissionDenied desc = network zookeeper_overlay-net not manually attachable.

但是你可以在Portainer的stacks里面自己editor添加测试容器连到项目自己的overlay网络,或者docker-compose.yaml自己添加测试容器。

测试:创建一个添加了attach的overlay网络,启两个容器测试连通性。

docker network create --driver=overlay --attachable name=myOverlayNet 

docker run -itd --name mybusybox --network myOverlayNet busybox
docker run -itd --name mybusybox12 --network myOverlayNet busybox12

 

posted @ 2021-09-26 11:07  lpaxq  阅读(573)  评论(0编辑  收藏  举报