美文网首页程序员
docker网段冲突了怎么办

docker网段冲突了怎么办

作者: linyb极客之路 | 来源:发表于2020-11-06 22:58 被阅读0次

    前言

    最近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网段是否已经变更

    image.png

    总结

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

    相关文章

      网友评论

        本文标题:docker网段冲突了怎么办

        本文链接:https://www.haomeiwen.com/subject/tkmxbktx.html