Docker网络

理解Docker网络:

问题:Docker是如何处理容器网络访问的?

原理

1.我们每次启动docker容器,docker就会给容器分配一个IP,我们只要安装了docker,就会有一个网卡docker0桥接模式,使用的奇数时evth-pair技术!

再次测试ip addr

veth-pair : 就是一堆虚拟设备接口,他们都是成对出现的,一段连着协议,一段彼此相连。
veth-pair 充当一个桥梁,连接各种虚拟网路设备

容器是相互可以ping通的

docker exec -it tomcat01 ping 172.8.0.2

结论:

tomcat01和tomcat02 是公用的一个路由器,docker0

所有的容器不指定网络的情况下,都是docker0的路由的,docker会给我们的容器分配一个默认的可用IP

小结

Docker使用的是Linux的桥接,宿主机中是一个docker容器的网桥 docker0.

Docker中所有的网络接口都是虚拟的,虚拟的转发效率高。

思考

通过服务的名称进行关联服务,通过容器名关联容器


docker run  

--link 关联容器id

网络模式

  • bridge:桥接 docker
  • none:不配置网络
  • host:和宿主机共享网络
  • container:容器网络联通!

自定义网络

  • 查看所有的docker网络
docker network ls

网络模式

bridge:桥接 docker默认模式

none:不配置网络

host:和宿主机共享网络

container:容器内网络连通

  • 自定义网关
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
  • 启动容器
docker run -d -P --name tomcat-net-01 --net mynet tomcat

-测试连接

docker exec -it tomcat-net-01 ping tomcat-net-02

我们自定义的网络docker都帮我们维护好了对应关系

好处:

redis:不同的集群使用不同的网络,保证集群是安全和健康的

mysql:不同的集群使用不同的网络,保证集群是安全和健康的

网络连通的操作

  • 容器和网路进行联通
docker network connect mynet tomcat01

结论:假设要跨网络操作别人,就需要使用docker network connect 连通。。。

posted @   PerfectLi  阅读(3)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示