Networking 为什么可以';我不能从Docker容器访问主机端口吗?
我读过一篇文章,其中提出了同样的问题,但解决方案似乎不起作用。基本上,我试图从docker内部访问主机操作系统上的一个端口,并使用链接文章中建议的Networking 为什么可以';我不能从Docker容器访问主机端口吗?,networking,docker,Networking,Docker,我读过一篇文章,其中提出了同样的问题,但解决方案似乎不起作用。基本上,我试图从docker内部访问主机操作系统上的一个端口,并使用链接文章中建议的--net=“host”标志。但是,我仍然无法访问该端口。唯一对我有效的方法是在0.0.0.0上运行主机web服务,然后从192.168.#####访问它,但地址会根据我使用的Wifi而变化,所以我不想这样做。以下是我尝试过的: 设置我可以尝试从容器内部访问的测试Web服务器: bash-3.2$ echo hi > index.html bas
--net=“host”
标志。但是,我仍然无法访问该端口。唯一对我有效的方法是在0.0.0.0
上运行主机web服务,然后从192.168.#####
访问它,但地址会根据我使用的Wifi而变化,所以我不想这样做。以下是我尝试过的:
设置我可以尝试从容器内部访问的测试Web服务器:
bash-3.2$ echo hi > index.html
bash-3.2$ python -m SimpleHTTPServer 1234 >/dev/null 2>&1 &
[1] 57942
root@moby:/# curl localhost:1234
curl: (7) Failed to connect to localhost port 1234: Connection refused
从主机卷曲它以确保它正在运行:
bash-3.2$ curl localhost:1234
hi
启动已安装curl()的容器:
尝试从容器内部卷曲:
bash-3.2$ echo hi > index.html
bash-3.2$ python -m SimpleHTTPServer 1234 >/dev/null 2>&1 &
[1] 57942
root@moby:/# curl localhost:1234
curl: (7) Failed to connect to localhost port 1234: Connection refused
我使用的是macOS,因此我认为这可能与容器的主机是boot2docker而不是mac有关,但我仍然不知道如何缓解这种情况
任何建议都将不胜感激!:) 我似乎误解了你的问题。我不知道如何做你想做的事,所以我将删除我的答案。无论如何,谢谢你,我真的很感谢你花了这么多时间来帮助我!:)我在Ubuntu14.04上尝试了完全相同的方法,但效果很好。所以你是对的,这很可能是一个
MAC
问题。我对MAC
没有任何经验,所以我只能帮助你。这似乎是MAC
的Docker中的一个bug。看到和