关于docker:docker网段冲突了怎么办

74次阅读

共计 1114 个字符,预计需要花费 3 分钟才能阅读完成。

前言

最近 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 默认,免得和公司的网段抵触

正文完
 0