zoukankan      html  css  js  c++  java
  • 宿主机网络中其它机器与Docker容器网络互通配置

    前言

    目前项目采用微服务架构进行开发,Nacos和其它服务部署到Docker中,Docker中容器采用的网络默认是桥接模式(Bridge),默认的子网码是172.17.0.1/16;宿主机是192.168.1.231;同宿主机其它网络也是192.168.1.39;同事提出本地机器想与Docker中容器互通,访问方式如下:
    本地机器直接ping 容器IP(172.17.0.5)是访问不通的,因为处于不通的网段,在百度上查找了半天也没有找到合适的方法,自己通过摸索,采用macvlan+docker network connect进行连接。

    1. docker的macvlan网络创建

    在Docker 宿主机执行如下命令:

     docker network  create  -d macvlan 
        --subnet=192.168.1.0/16 
        --gateway=192.168.1.1 
        -o parent=eth33 macvlan10
    

    通过以下命令查找docker网络命令如下:

    docker network ls
    

    可以看到macvlan10已经在该列表中,说明该命令已经成功

    2. 把Docker中容器加入到macvlan10网络中

    docker network connect macvlan10 容器ID/名称

    3. 验证

    在本机执行 ping 容器IP,可以看到已经互通

    4. 总结

    在完成以上操作之后,可以通过docker inspect 容器ID,可以看到在容器的网络配置中增加了macvlan10网关的配置,如下:

    希望能够给大家帮助,如果还有更好的方法,还希望大家分享!
    坚持写博客

    以上配置之后,会出现macvlan模式容器与宿主机通信问题,可以通过如下配置进行设置
    【Docker】macvlan网络模式下容器与宿主机互通
    https://rehtt.com/index.php/archives/236/

  • 相关阅读:
    atom 安装插件列表
    django学习
    windows 安装 python3
    python3 监控代码变化 自动重启 提高开发效率
    git无法pull仓库refusing to merge unrelated histories
    python 项目部署virtualenv
    python 多线程并发threading & 任务队列Queue
    python logging 日志使用
    jupyter 教程
    mysql 替换数据库字段内容
  • 原文地址:https://www.cnblogs.com/sjkzy/p/14008675.html
Copyright © 2011-2022 走看看