修改docker0默认ip

本文详细介绍了Docker服务启动后默认创建的docker0网桥及其配置方法。通过编辑/etc/docker/daemon.json文件可以指定docker0接口的IP地址、子网掩码等参数,实现容器与主机之间的网络通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。

  Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信,它还给出了 MTU(接口允许接收的最大传输单元),通常是 1500 Bytes,或宿主主机网络路由上支持的默认值。这些值都可以在服务启动的时候进行配置。

       可以用编辑/etc/docker/daemon.json文件,添加内容 "bip": "ip/netmask" [ 切勿与宿主机同网段 ]

[root@localhost /]# vi /etc/docker/daemon.json

{"bip":"192.168.100.1/24"}

原文地址: http://lisea.blog.51cto.com/5491873/1940023

### 修改 Docker 默认的 172.x.x.x 网段 Docker 默认使用 `172.17.0.0/16` 网段为容器分配 IP 地址。如果该网段与现有网络存在冲突,或者需要自定义网络配置,可以通过修改 Docker 的守护进程配置文件 `daemon.json` 来更改默认网段。 #### 修改步骤 1. **编辑 Docker 的 `daemon.json` 文件** 在大多数 Linux 系统中,该文件位于 `/etc/docker/daemon.json`。如果文件不存在,则需要手动创建。 ```json { "bip": "192.168.100.1/24", "default-address-pools": [ { "base": "192.168.100.0/24", "size": 24 } ] } ``` - `bip`:指定 Docker 默认桥接网络(`bridge`)的网关 IP 和子网掩码。 - `default-address-pools`:定义默认地址池,可以指定多个地址池以避免 IP 耗尽问题。 2. **重启 Docker 服务** 修改完成后,需要重启 Docker 服务以使配置生效: ```bash sudo systemctl restart docker ``` 3. **验证新配置** 创建一个新容器并查看其 IP 地址是否符合新的网段: ```bash docker run -it --rm alpine ip addr show eth0 ``` #### 注意事项 - 修改默认网段后,已有的容器和网络不会自动更新,需要重新创建。 - 如果使用自定义网络(如 `mynetwork`),需要手动指定新的子网范围,例如: ```bash docker network create --subnet=192.168.100.0/24 mynetwork ``` - 确保新的 IP 地址范围不与其他网络设备或服务冲突。 ### 示例:自定义子网并创建容器 ```bash docker network create --subnet=192.168.100.0/24 mynetwork docker run -it --rm --network mynetwork --ip 192.168.100.10 alpine sh ``` 该命令创建了一个基于 `192.168.100.0/24` 子网的自定义网络,并为容器分配了固定 IP `192.168.100.10` [^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值