• Docker-Compose的地址与公司网络冲突


    在上一次安装了Docker后,Docker会默认创建一个网卡,指定其中的地址,这个生成的地址与默认的存在冲突,通过修改Docker的配置文件,已经顺利将问题解决,请查看《Docker CentOS 网段与公司网段冲突

    在安装了Docker后,使用Docker-Compose发布应用,一直都可以正常使用,使用一段时间后,在公司突然发现无法连接到服务器了!

    这下有点慌了,正常来讲,我安装Docker时,已经正常的处理了IP地址的问题,怎么还会出现冲突呢?

    通过查看服务器的现有网卡,可以看到,确实有172.18和172.17地址段的IP地址存在于服务器中

    sudo ip addr

    我想,明明我都设置了Docker的地址段,怎么还可以出现冲突?,然后我反复的实验,使用Docker-Compose删除后再次重建

    sudo docker-compose stop
    sudo docker-compose rm
    sudo docker-compose up -d

    原因:

    然后通过查看服务器地址的时候,有时会创建172.17、172.18、172.19、172.20等网段,就是说这个是随机的,当正好创建的是冲突的网段,那就会导致服务器不可连接。

    原因是,在Docker-Compose up -d这个命令运行的时候,会为系统创建一个网络

    参考地址:https://blog.csdn.net/gezhonglei2007/article/details/51627969

    解决方法 

    2020-05-12 如果按以下的网络进行处理,还是会有冲突,最终导致服务不可用,而且容易出现无法连接到服务器的情况

    在首次运行容器前,先手动创建一个名为mes_net的Docker网络,并且手动的指定它的子网地址为172.20.XXX.XXX网段

    docker network create --driver=bridge --subnet=172.20.0.0/16 mes_net

    经过调整,在Docker-Compose的yaml文件中指定了网络

    version: '3'

    services:

      # rabbitmq ***********************************
      rabbitmq:
        image: rabbitmq:management
        restart: always
        ports:
          - 5671:5671
          - 5672:5672
          - 4369:4369
          - 15671:15671
          - 15672:15672
          - 25672:25672
        hostname: rabbit
        environment:
          RABBITMQ_DEFAULT_VHOST: /
          RABBITMQ_DEFAULT_USER: admin
          RABBITMQ_DEFAULT_PASS: admin123
        volumes:
          - /root/data/rabbitmq:/var/lib/rabbitmq   
        networks:
          - custom_net    

    networks:
      custom_net:
        external:
          name: mes_net       

    最终,实现了指定的网络

     

    已经恢复了对服务器的访问

    参考地址:https://docs.docker.com/compose/compose-file/#network-configuration-reference

    参考文章:《https://blog.csdn.net/gezhonglei2007/article/details/51627969

  • 相关阅读:
    java正则表达式学习
    使用TypeScript,AngularJs和Web API构建基本的CRUD Web 应用
    漫话CLR ---- 常量与字段
    漫话CLR ---- 属性
    漫话CLR ---- 定制Attribute
    分享一个线程安全的加载窗体
    漫话CLR ---- 类型基础
    漫话CLR ---- 委托
    js 数组遍历for..in弊端
    使用call来实现继承
  • 原文地址:https://www.cnblogs.com/weschen/p/12069024.html
Copyright © 2020-2023  润新知