docker网段冲突如何解决

前言

最近ssh登陆公司远程服务器,突然登不进去,后经排查是因为有个docker容器的网段和公司的网段冲突了,导致登陆不上去。

如何解决

docker默认网段是172.17,和公司的网段冲突,因此解决的办法其实也挺简单的,要么换公司网段,要么换docker网段,是个正常人都会选择换docker网段

解决方案

方案一:不改docker网段,创建不和公司网段冲突的docker子网段

  1. docker network create driver=bridge subnet=192.161.0.0/16 monitor_net

运行容器时指定

  1. docker run it name <容器名> network monitor_net <镜像名

在docker-compose同样通过networks指定,形如下

  1. version: ‘3’
  2. networks:
  3.      monitor:
  4.      #使用已经存在的网络
  5.          external:
  6.          name: monitor_net
  7. services:
  8.      prometheus:
  9.          image: prom/prometheus
  10.          container_name: prometheus
  11.          hostname: prometheus
  12.          privileged: true
  13.          restart: always
  14.          volumes:
  15.               /usr/local/src/config/prometheus.yml:/etc/prometheus/prometheus.yml
  16.               /usr/local/src/config/node_down.yml:/etc/prometheus/node_down.yml
  17.          ports:
  18.               “9091:9090”
  19.          networks:
  20.               monitor
  21.          links:
  22.       alertmanager
  23.               nodeexporter

方案二:修改docker默认网段

1、停止docker

  1. systemctl stop docker

2、删除原有网桥

  1. ip link del docker0 down

3、vim /etc/docker/daemon.json,添加形如下内容

  1. “bip”:“192.161.20.1/24”

如果没有daemon.json文件,则新建

文件内容形如下

  1. {
  2.      “registry-mirrors”: [“https://zq2cvqfe.mirror.aliyuncs.com”],
  3. “insecure-registries”:[“192.168.1.30:5002”],
  4. “bip”:“192.161.20.1/24”
  5. }

4、重启docker服务

  1. systemctl restart docker

&nbsp;5、通过ifconfig 查看docker网段是否已经变更

-1

总结

安装docker时,记得修改docker默认,以免和公司的网段冲突

以上就是docker网段冲突如何解决的详细内容,更多关于docker网段冲突的资料请关注我们其它相关文章!

标签

发表评论