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 连通。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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的强缓存和协商缓存
· 一文读懂知识蒸馏