加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

macos – 无法访问OSX上端口80上的docker容器

发布时间:2020-12-13 21:34:40 所属栏目:Nginx 来源:网络整理
导读:在我目前的工作中,我们有使用docker-compose制作的开发环境. 一个容器是nginx,它提供到其他容器的路由. 一切似乎都很好,并在Windows和osx上与我的同事一起工作.但是在我的系统(osx El Capitan)上,访问端口80上的nginx容器存在问题. 有来自docker-compose.yml

在我目前的工作中,我们有使用docker-compose制作的开发环境.
一个容器是nginx,它提供到其他容器的路由.
一切似乎都很好,并在Windows和osx上与我的同事一起工作.但是在我的系统(osx El Capitan)上,访问端口80上的nginx容器存在问题.

有来自docker-compose.yml的容器设置

nginx:
    build: ./dockerbuild/nginx
    ports:
        - 80:80
    links:
        - php
    volumes_from:
        - app
... and more

在./dockerbuild/nginx中没有什么特别的,只有nginx配置,因为我们从任何地方都知道它.

当我使用docker-compose运行每一个创建和docker-compose start时.然后docker ps给我

3b296c1e4775        docker_nginx           "nginx -g 'daemon off"   About an hour ago   Up 47 minutes       0.0.0.0:80->80/tcp,443/tcp        docker_nginx_1

但是当我尝试通过卷曲访问它时,我得到错误. curl:(7)无法连接到localhost端口80:连接被拒绝

我尝试用端口81运行容器,一切正常.

港口真的是绑定到码头

22:47 $sudo lsof -i -n -P | grep TCP
...
com.docke 14718         schovi   38u  IPv4 0x6e9c93c51ec4b617      0t0    TCP *:80 (LISTEN)
...

osx中的防火墙已关闭,我没有其他安全措施.

最佳答案
如果你使用docker-for-mac:

通过localhost访问:80是正确的,但您仍然必须确保没有运行本地apache / nginx服务.通常来自boxen / homebrew的剩余物存在绑定该端口,因为那是开发人员当时所做的:)

如果你使用dockertoolbox / virtualbox /无论管理程序

您将无法通过本地主机,通过docker-machine ip访问它,因此请在您的浏览器中使用docker-machine ip default并使用http:// $ip:80

如果这没有帮助

确保你的nginx容器确实有效,所以连接到容器:docker exec -i -t< containerid>庆典

然后运行ps aux nginx或者如果安装了telnet,请尝试连接到localhost

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读