sarlanori
V2EX  ›  问与答

CentOS 上使用 Docker 安装 nginx 后从宿主机不能访问

  •  
  •   sarlanori · Aug 10, 2020 · 2053 views
    This topic created in 2198 days ago, the information mentioned may be changed or developed.
    • CentOS 版本:centos-release-7-2.1511.el7.centos.2.10.x86_64
    • Docker 版本:Docker version 19.03.12, build 48a66213fe
    • nginx 版本:1.19.1

    使用如下指令启动一个 nginx 容器: docker run -d --name nginx-test -p 80:80 nginx

    然后运行 curl localhost,返回 curl: (56) Recv failure: Connection reset by peer,不管使用 localhost 还是 127.0.0.1 还是内网地址,返回都是连接被重置。

    但进入容器内部是可以正常访问的:docker exec -t nginx-test curl -L http://localhost

    已经尝试过设置 net.ipv4.ip_forward = 1,没起作用。

    这个问题困扰我很久了,网上搜了很久也没解决,不知道有没有人遇到过呢?

    Supplement 1  ·  Aug 13, 2020
    经过几天的搜索和摸索,终于把这个问题解决了。跟 SELinux 设置无关,是 Docker 默认网桥 docker0 的问题,重新建个网桥,让容器使用新的网桥就好了。
    2 replies    2020-08-11 09:48:20 +08:00
    Yadomin
        1
    Yadomin  
       Aug 10, 2020 via Android
    SELinux 的问题
    sarlanori
        2
    sarlanori  
    OP
       Aug 11, 2020
    @Yadomin 我把 selinux 关闭了,还是不行。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5554 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 07:27 · PVG 15:27 · LAX 00:27 · JFK 03:27
    ♥ Do have faith in what you're doing.