docker使用容器名实现容器网络互相访问

docker运行容器的时候没有指定–network 参数,默认是以bridge模式创建,bridge网络表现形式就是docker0这个网络接口。容器默认都是通过docker0这个接口进行通信。也可以通过docker0去和本机的以太网接口连接,这样容器内部才能访问互联网。
但是停止/重启容器之后,容器ip会以谁先启动就近分配,容器ip会变化,两个容器之间如何通过容器名访问呢,通过建bridge网络实现。

#创建网络
docker network create -d bridge my-bridge
#启动两个容器都指定 --network my-bridge
docker run -itd --name nginx1 --network my-bridge nginx:1.19.3-alpine
docker run -itd --name nginx2 --network my-bridge nginx:1.19.3-alpine
#分别进入nginx1 、nginx1
docker exec -it nginx1 sh
ping  nginx1
docker exec -it nginx2 sh
ping  nginx2
#相互是可以ping通的
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐