# 创建了一个名为"my-net"的网络 如果你是用Linux Containers那么不需要-d nat
docker network create -d nat my-net
#新建pottava/openmpi镜像命名为openmpi1,分配网络my——nat
#-v 后面那些路径的意思在我第一篇博客有解释过
docker run -d -v G:\docker\mpi:/home/mpiuser1 --network my-net --ip 172.22.240.11(你想要分配的ip,与my_net同一个网段) --name=openmpi1 pottava/openmpi
docker run -d -v G:\docker\mpi:/home/mpiuser1 --network my-net --ip 172.22.240.22(你想要分配的ip,与my_net同一个网段) --name=openmpi1 pottava/openmpi
#你可以使用命令查看my-net的网段 命令如下
docker network inspect my-net
找到 {
"Subnet": "172.22.240.0/20",
"Gateway": "172.22.240.1"
}
运行容器,使用对方容器名ping通,也可以直接用ip地址
PS C:\Users\Y> docker exec -it openmpi1 bash
root@a5cd159a033c:/home/mpiuser# ping openmpi2 -c 3
PING openmpi2 (172.22.240.22): 56 data bytes
64 bytes from 172.22.240.22: icmp_seq=0 ttl=64 time=0.364 ms
64 bytes from 172.22.240.22: icmp_seq=1 ttl=64 time=0.505 ms
64 bytes from 172.22.240.22: icmp_seq=2 ttl=64 time=0.504 ms
--- openmpi2 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.364/0.458/0.505/0.066 ms
参考https://juejin.im/post/5ce26cb9f265da1bcd37aa7c
//$ docker network connect my-net containerName