无法在OSX上使用Docker公开Web服务器
我有一个运行Web服务器的docker图像,我想从我的本地OSX访问它,但我有问题。
我启动容器: docker run -p 8000:8000 <container-name>
我可以看到日志消息告诉我本地服务器正在监听localhost:8000
我能够从运行中获得成功的响应:
docker exec <IMAGE-ID> curl "http://localhost:8000/"
我在本地OSX上试过的地址是:
-
http://localhost:8000/
-
http://<DOCKER-IP-172.17.0.2:8000/
这些都没有工作。 有什么build议么?
- 容器是从
golang:1.8
- Docker版本:
Version 17.03.1-ce-mac5 (16048)
- MacOS Sierra:
10.12.4
- 出于testing目的,防火墙已closures
我已经在Ubuntu 16.04上尝试了相同的过程,也没有运气。
较新版本的vpnkit
在OSX上使用vpnkit
来pipe理端口转发到容器…如果你想暴露容器端口,你应该允许vpnkit通过你的防火墙。
另外,在你的Go代码中,确保绑定到你的web服务器代码的0.0.0.0
而不是127.0.0.1
。