zxCoder
V2EX  ›  问与答

Docker 端口映射后外部无法访问

  •  
  •   zxCoder · Apr 14, 2021 · 3705 views
    This topic created in 1884 days ago, the information mentioned may be changed or developed.
    mmp@LAPTOP-ME3EJSM5:~$ docker ps
    CONTAINER ID   IMAGE          COMMAND            CREATED          STATUS          PORTS                    NAMES
    260453d57ed9   31aa730a8cc1   "./Server "   12 minutes ago   Up 12 minutes   0.0.0.0:5000->5000/tcp   flamboyant_boyd
    

    然后无法访问 5000 端口,显示

    该网页无法正常运作 localhost 未发送任何数据。 ERR_EMPTY_RESPONSE

    该从哪个方向去查原因

    zxCoder
        1
    zxCoder  
    OP
       Apr 14, 2021
    docker 是在 WSL2 里

    从 WSL 里似乎可以访问端口,但是外部浏览器不行

    ```
    mmp@LAPTOP-ME3EJSM5:~$ telnet localhost 5000
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    Connection closed by foreign host.
    ```
    whitelee8080
        2
    whitelee8080  
       Apr 14, 2021
    看下防火墙 5000 端口是否对外开发。
    jjianwen68
        3
    jjianwen68  
       Apr 14, 2021
    是不是要查查这个 container 启动用的 network
    abersheeran
        4
    abersheeran  
       Apr 14, 2021
    我也遇见过,各种操作都没搞定,还找了公司里的大佬,都没搞定。后面直接重装了一次系统就好了。我和大佬都猜测是那个机子(新装的系统)防火墙有问题,没办法正常转发。

    另,你把 network 模式改成 host 试试。当时我那个情况下改成这个就可以正常了。不过用起来不爽所以重装了系统。
    zxCoder
        5
    zxCoder  
    OP
       Apr 14, 2021
    心态崩了 一整天代码没碰几行 光是搞个环境就快下班了
    zxCoder
        6
    zxCoder  
    OP
       Apr 14, 2021
    @whitelee8080
    @jjianwen68
    @abersheeran

    请教一个问题,如果 docker 启动容器绑定端口,docker ps 能显示绑定的端口,而 lsof -i 会有对应显示 docker 进程吗?
    zxCoder
        7
    zxCoder  
    OP
       Apr 14, 2021
    @zxCoder 试了一下 直接在 WSL 里启动服务,windows 是可以访问对应端口的,如果用 docker 就不行了,不知道绑定端口哪个地方出错了
    handsomeroger
        8
    handsomeroger  
       Apr 14, 2021
    执行一下这个命令 看看回显是什么
    handsomeroger
        9
    handsomeroger  
       Apr 14, 2021
    sysctl net.ipv4.ip_forward 看看回显是什么

    如果 net.ipv4.ip_forward 是 0 的话

    echo 'net.ipv4.ip_forward = 1' >> /usr/lib/sysctl.d/50-default.conf

    sysctl -p /usr/lib/sysctl.d/50-default.conf

    看看能解决吗
    Acoffice
        10
    Acoffice  
       Apr 14, 2021
    这种可能是 iptables 规则被改动了吧,正常重启 docker 服务或者重启机器能恢复.
    PerFectTime
        11
    PerFectTime  
       Apr 14, 2021
    服务器安全组开了吗
    PerFectTime
        12
    PerFectTime  
       Apr 14, 2021
    另外试一下 127.0.0.1
    zxCoder
        13
    zxCoder  
    OP
       Apr 14, 2021
    ztxcccc
        14
    ztxcccc  
       Apr 14, 2021
    有些软件域名如果是 localhost/127.0.0.1 进 docker 会有问题,换四个零试试
    mlcq
        15
    mlcq  
       Apr 14, 2021
    @ztxcccc #14 对
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5662 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 01:50 · PVG 09:50 · LAX 18:50 · JFK 21:50
    ♥ Do have faith in what you're doing.