V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RexG
V2EX  ›  Docker

docker 自定义网络导致的问题

  •  
  •   RexG · 322 天前 · 767 次点击
    这是一个创建于 322 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先说明一下我想要做的效果,是为了单个 docker 容器能够通过旁路由 192.168.1.254 进行联网。 根据宿主机设置网关为 192.168.1.254 类推为 docker 设置网关

    使用这条命令创建自定义网络 docker network create --subnet 192.168.1.0/24 --gateway 192.168.1.254 mynet

    但是创建之后,会导致浏览器访问旁路由 192.168.1.254 的时候,页面显示的不是旁路由,而是宿主机 192.168.1.47 的页面,也就是我没办法访问到旁路由页面了,使用 docker 运行容器并指定 mynet 网络的话,好像也没有网络,安装 curl 会一直卡在那里不动。

    删除自定义网络 mynet 后,恢复正常

    有没有大佬懂

    创建自定义网络之前

    RsMdMV.jpg RsMwrT.jpg

    创建之后

    RsMUx0.jpg

    7 条回复    2021-07-05 16:18:05 +08:00
    lcdtyph
        1
    lcdtyph  
       322 天前 via iPhone
    …没有给拓扑,我猜是你外网(相对于 mynet )的网段也是 192.168.1.0/24
    ScotGu
        2
    ScotGu  
       322 天前
    没有 macvlan ?

    docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.254 --ip-range=192.168.1.40/29 -o parent=ens192 bridge-HomeLan

    ens192 为网卡名称。
    ip-range 是自动分配的地址池。
    bobzhangyong
        3
    bobzhangyong  
       322 天前
    docker 默认的网络是一个私有网络, 使用 nat 和宿主机沟通, 你需要使用-p 参数把 docker 里面的端口映射到宿主机,通过宿主机 ip 和 docker 映射的端口访问。

    我感觉你想要 docker 里面的网络和 宿主机在一个网段,并被宿主机外面的机器访问, 可以看看--network=host 参数,这个和宿主机共享网卡。
    RexG
        4
    RexG  
    OP
       321 天前
    @lcdtyph 大概是这样吧,没工具随便画了画

    <a href="https://imgtu.com/i/R6DzRI"><img src="https://z3.ax1x.com/2021/07/02/R6DzRI.png" alt="R6DzRI.png" border="0" /></a>
    RexG
        5
    RexG  
    OP
       321 天前
    @bobzhangyong 不是啊,就是 docker 单容器走旁路由,不妨碍其他容器,至于容器的 ip 不管
    RexG
        6
    RexG  
    OP
       321 天前
    @ScotGu 厉害,就是这个,不过网络名字最好不要大写,有点小问题
    eluotao
        7
    eluotao  
       318 天前
    借此问个问题:
    用 docker 创建自定义网络 把 mysql 添加到自定义网络 连接很卡 有知道原因的吗?
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1233 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:55 · PVG 06:55 · LAX 15:55 · JFK 18:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.