Docker 网络

Dcoker中的网络类型

|-----------|---------------------------------------------------------------|
| 网络类型 | 备注 |
| bridge | 为每一个容器分配、设置IP等,并将容器连结到一个docker0网络 虚拟网桥,默认为该模式 |
| host | 容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口 |
| none | 容器拥有独立的NetWork namespace,但并灭有对其进行任何网络配置,如分配veth pair和网桥连接,ip等 |
| Container | 新创建的容器不会创建自己的网卡和配置自己的ip,而是指定一个容器共享ip端口范围等 |
| 自定义网络 | 自定义的都是虚拟网桥类型,因为容器的ip可能会变化,所以创建自定义网络,可以通过服务名称进行联通 |

所以在我们部署应用的时候,需要自定义网络,因为自定义网络本身就维护好了主机名和IP的对应关系,可以通过服务名称联通,下面着重介绍下bridge模式

bridge模式

整个宿主机的网桥都是docker0,类似一个交换机有一堆接口,在本地主机和容器内,分别创建一个接口,彼此联通,这样一对接口叫veth pair

每个容器内也有一个虚拟网卡,叫eth0

docker0上的veth接口和容器内的eth0两两配对,一一匹配

通过上述操作,所有容器都连接在这个内部网络之上,这样两个容器都在同一个网络下,从同一个网关分配ip,两个容器之间的网络是互通的

项目中两个Compose文件共同使用一个自定义网络

不同 Compose 文件 = 不同项目 = 网络不会自动共享 ,即使两个文件都写

networks:

test-net:
Docker 其实会创建两个不同的网络

把网络变成「外部网络」并只创建一次

docker network create test-net

在两个Compose中声明为外部网络

bash 复制代码
networks:
  - test-net

networks:
  test-net:
    external: true
    name: test-net
相关推荐
Turboex邮件分享1 分钟前
邮件系统中的抗拒绝服务(DDoS)攻击防护
运维·网络·安全·ddos·软件需求
成为你的宁宁4 分钟前
【docker镜像加速器配置】
运维·docker·容器
AI_零食5 分钟前
开源鸿蒙跨平台Flutter开发:密码生成器应用
网络·学习·flutter·华为·开源·harmonyos·鸿蒙
江畔何人初9 分钟前
http协议的概念以及http1,http2,http3的区别
网络·网络协议·http
M-Ellen10 分钟前
从零搭建 Windows + WSL2 + Docker + GitLab CI/CD 完整手册
ci/cd·docker·gitlab
SariHcr12312 分钟前
PG2K100千兆以太网接口速度测试
网络·嵌入式硬件·嵌入式实时数据库
三道渊16 分钟前
Linux进程通信与信号处理全解析
linux·服务器·网络
风向决定发型丶16 分钟前
K8S中Pod驱逐介绍
docker·容器·kubernetes
fengci.17 分钟前
LilCTF2025web(前半部分)
开发语言·网络·学习·php
AI_Claude_code18 分钟前
ZLibrary访问困境方案六:自建RSS/Calibre内容同步服务器的完整指南
运维·服务器·网络·爬虫·python·tcp/ip·http