docker容器互联
一丶使用IP+端口
- 创建容器
docker run --name nginx01 --restart always -d nginx:1.21-alpine
docker run --name nginx02 --restart always -d nginx:1.21-alpine![]()
- 查看容器IP
docker exec -it nginx01 ip a
docker exec -it nginx02 ip a![]()
- 进入容器验证互访
1)进入nginx01 curl请求nginx02
docker exec -it nginx01 sh![]()
2)进入nginx02 curl请求nginx01
docker exec -it nginx02 sh![]()
- 模拟nginx01容器IP变更
docker rm -f nginx01
docker run --name nginx01 --restart always -d nginx:1.21-alpine
docker exec -it nginx01 ip a![]()
- 验证nginx02访问nginx01
![]()
- 总结
由于容器重启或删除IP会变更,所以IP+端口的访问是不可靠的。
二丶使用别名(link)
- 创建容器
docker run --name nginx01 --restart always -d nginx:1.21-alpine - 创建link
docker run --name nginx02 --restart always --link=nginx01:www.nginx01.com -d nginx:1.21-alpine![]()
- 查看容器IP
docker exec -it nginx01 ip a
docker exec -it nginx02 ip a![]()
- 进入nginx02访问别名
docker exec -it nginx02 sh
curl http://www.nginx01.com:80![]()
- 模拟变更docker ip
vim /etc/docker/daemon.json
"bip":"172.180.0.1/16",systemctl restart docker
- 查看容器IP
![]()
- 再次进入nginx02访问别名
![]()
- 总结
容器互联使用别名的方式访问是可靠的,适合无缝迁移场景。












浙公网安备 33010602011771号