Docker网络
# Docker 网络
如果两个容器app1和app2,如果app1想访问app2,该如何访问?
方法1 我们每一个启动的容器都有一个外部映射端口,我们容器内部可以使用主机IP地址+外部端口进行访问另外一个容器,但是这样有点奇怪,而且IP地址是经常变化的,可以实现但是并不可取。
方法2 每个容器在启动的时候都会自动加入到docker0这个默认网络中,用来实现容器之间的通信,可以使用容器内部的虚拟IP地址进行通信,这样就省去了走外部主机网络的过程,但是默认docker0不支持域名。
# 自定义网络

- 创建自定义网络
docker network create mynet
1
- 启动两个容器并加入自定义网络
docker run -d --name app1 -p 88:80 --network mynet nginx
docker run -d --name app2 -p 99:80 --network mynet nginx
1
2
3
2
3
- 进入app1容器,访问app2容器
docker exec -it app1 bash
curl http://app2:80
1
2
3
2
3

Last Updated: 2025/08/14, 18:32:19