V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
f1ynnv2
V2EX  ›  Docker

container 内部如何 ping 通宿主机 ip?

  •  
  •   f1ynnv2 · Nov 22, 2023 · 1522 views
    This topic created in 886 days ago, the information mentioned may be changed or developed.

    之前用 docker 弄了一堆服务,端口分别映射到了宿主机的端口上,这样在内网可以用 http 直接访问。

    然后用 nginx proxy manager ,把这些宿主机的 http 端口转成了 https 再暴露到公网上访问,跑了一年都没问题。

    昨天也不知道为什么突然 https-http 不通了,查了一下发现是因为在 nginx proxy manger 这个 container 内部无法 ping 通宿主机 IP ,所以每个 upstream 都超时了。

    我有点茫然了,容器是跑的默认网络模式,前面一年明明可以访问宿主机 ip 的,怎么突然不行了。要怎么才能在宿主机内部 ping 通宿主机 ip ?

    试过 network_mode: host 居然也不行,不知道啥情况了。我贴一下原来的 docker compose file:

    version: "3.8"
    services:
      nginx-proxy-manager:
        image: jc21/nginx-proxy-manager:2.10.4
        restart: unless-stopped
        ports:
          - 9000:80
          - 443:443 # Public HTTPS Port
          - 8007:81 # Admin Web Port
        environment:
          DISABLE_IPV6: 'true'
        volumes:
          - ./data:/data
          - ./letsencrypt:/etc/letsencrypt
    4 replies    2023-11-27 14:46:42 +08:00
    Trim21
        2
    Trim21  
       Nov 22, 2023 via Android
    network_mode: host 的情况下不能设置 ports
    f1ynnv2
        3
    f1ynnv2  
    OP
       Nov 22, 2023   ❤️ 1
    @ginakira #1 非常感谢,原来这才是优雅的方案。我之前一直把宿主机 ip 固定,然后从容器内部连这个 ip ,也不知道为什么过去一年里一直正常使用。太感谢了!!
    wxyrrcj
        4
    wxyrrcj  
       Nov 27, 2023
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   850 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 21:21 · PVG 05:21 · LAX 14:21 · JFK 17:21
    ♥ Do have faith in what you're doing.