不同虚拟机之间的docker容器互相访问

虚拟机平台 VMware WrokStation Pro 16
虚拟机环境 Unbuntu 22.04

目标:在VM2中创建1个bridge虚拟网络,在VM2中,创建容器x,并能访问VM1中的容器,在两个虚拟机中创建birdge网络,虚拟机中的容器可以互相访问

解决方案:使用overlay来实现不同虚拟机中的容器的互相访问

  • 在虚拟机1使用命令docker swarm init中初始化swarm集群,注意下面给出了加入该swarm集群的命令
    (关于swarm是什么可以看下这篇文章:https://blog.csdn.net/al6nlee/article/details/130912842)

  • 使用docker network ls查看网络,发现多出了两个网络

  • 在虚拟机2上加入先前创建的swarm集群

  • 在虚拟机1上验证节点加入情况
    (本人对虚拟机进行拷贝操作,所以hostname相同,但node ID是独特的)

  • 使用命令docker network create创建overlay网络hjh-net

  • 在虚拟机1用命令docker network connect hjh-net [容器ID] 将testa容器加入overlay网络hjh-net

  • 在虚拟机2用命令docker network connect hjh-net [容器ID] 将testx容器加入overlay网络hjh-net

  • 运行容器testx, ping 容器testa,成功

  • 运行容器testa, ping 容器testx,成功

posted @ 2024-04-11 19:59  spinninglight  阅读(171)  评论(0)    收藏  举报