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/

  • 相关阅读:
    Docker大会的新福利:LinuxKit 和 Moby 开源项目
    NS3
    (OK) NS3
    MPTCP
    Utilizing multi-core processors in NS-2
    (OK) Fedora 24
    error compiling gcc: undefined reference to libc_name_p
    gccxml
    NS3
    NS3
  • 原文地址:https://www.cnblogs.com/sjkzy/p/14008675.html
Copyright © 2011-2022 走看看