V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sarlanori
V2EX  ›  问与答

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

  •  
  •   sarlanori · 2020-08-10 18:55:56 +08:00 · 1579 次点击
    这是一个创建于 1356 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 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,没起作用。

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

    第 1 条附言  ·  2020-08-13 10:25:01 +08:00
    经过几天的搜索和摸索,终于把这个问题解决了。跟 SELinux 设置无关,是 Docker 默认网桥 docker0 的问题,重新建个网桥,让容器使用新的网桥就好了。
    2 条回复    2020-08-11 09:48:20 +08:00
    Yadomin
        1
    Yadomin  
       2020-08-10 19:16:48 +08:00 via Android
    SELinux 的问题
    sarlanori
        2
    sarlanori  
    OP
       2020-08-11 09:48:20 +08:00
    @Yadomin 我把 selinux 关闭了,还是不行。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5373 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 09:12 · PVG 17:12 · LAX 02:12 · JFK 05:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.