Docker快速入门(六)Docker网络管理1
Docker容器网络
Docker有三种原生网络:none网络
、host网络
、bridge网络
。
先来学习一下bridge网络
。
首先使用ifconfig
命令查看一下本机的网络设备:
从图中可以看见多出一个名为docker0
的设备,这个docker0
就是linux的虚拟网桥,docker的守护进程就是通过这个名为docker0
的设备为docker容器提供网络连接的各种服务。
虚拟网桥:可以设置IP地址,相当于一个虚拟网卡,可以用于连接多个端口,可以构建一个局域网,可以简单的理解为二层的交换机,但两者并不等同。
Docker容器守护进程在容器启动时会自动创建连接网络的两端,一端是在容器中的网络设备,另一端是在docker运行的主机上创建一个名为veth*
的接口用来实现docker0
与容器的网络通信。
接下来来看一下docker中的网桥管理。
首先需要安装网桥管理工具bridge-utils
:
安装完成之后来查看一下网桥设备:
可以看到默认的虚拟网桥docker0
,现在创建一个centos容器:
启动完容器发现ifconfig
命令没有用,是因为ifconfig
命令需要安装net-tools
工具包。
安装net-tools
工具包之后就可以使用ifconfig
命令了,来查看一下容器的网络设备:
可以看到这里有个eth0
,这就是容器创建时docker守护进程分配给容器的网络接口,用来连接docker0的,使容器在后台运行ctrl+P+Q
,然后查看一下docker0上的情况。
可以看到interfaces(接口)下面多出了一个veth149ef6
,这就是centos容器eth0
的对端设备,用来将centos容器和docker0虚拟网桥进行通信的网络接口设备:
通过查看本机的网络设备也可以看到:
观察一下可以发现,容器的ip是由docker0虚拟网桥分配的:
那么是不是可以更改网桥的ip呢?当然是可以的。
通过ifconfig docker0 192.168.1.1 netmask 255.255.255.0
命令将docker0的ip地址更改为了192.168.1.1
,来验证一下:
但是这是临时修改,重启docker服务之后ip地址就会变回去。
这时再启动容器就会发现容器的IP变为192.168.1.0
网段。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App