docker网段冲突了怎么办
前言
最近ssh登陆公司远程服务器,突然登不进去,后经排查是因为有个docker容器的网段和公司的网段冲突了,导致登陆不上去。
如何解决
docker默认网段是172.17,和公司的网段冲突,因此解决的办法其实也挺简单的,要么换公司网段,要么换docker网段,是个正常人都会选择换docker网段
解决方案
方案一:不改docker网段,创建不和公司网段冲突的docker子网段
docker network create --driver=bridge --subnet=192.161.0.0/16 monitor_net
运行容器时指定
docker run -it --name <容器名> ---network monitor_net <镜像名
在docker-compose同样通过networks指定,形如下
version: '3'
networks:
monitor:
#使用已经存在的网络
external:
name: monitor_net
services:
prometheus:
image: prom/prometheus
container_name: prometheus
hostname: prometheus
privileged: true
restart: always
volumes:
- /usr/local/src/config/prometheus.yml:/etc/prometheus/prometheus.yml
- /usr/local/src/config/node_down.yml:/etc/prometheus/node_down.yml
ports:
- "9091:9090"
networks:
- monitor
links:
- alertmanager
- node-exporter
方案二:修改docker默认网段
1、停止docker
systemctl stop docker
2、删除原有网桥
ip link del docker0 down
3、vim /etc/docker/daemon.json,添加形如下内容
"bip":"192.161.20.1/24"
如果没有daemon.json文件,则新建
文件内容形如下
{
"registry-mirrors": ["https://zq2cvqfe.mirror.aliyuncs.com"],
"insecure-registries":["192.168.1.30:5002"],
"bip":"192.161.20.1/24"
}
4、重启docker服务
systemctl restart docker
5、通过ifconfig 查看docker网段是否已经变更
总结
安装docker时,记得修改docker默认,以免和公司的网段冲突
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)