前言

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