Docker容器在Mac上无法向主机暴露端口的问题

3
我试图从运行我的服务器的Docker容器中向我的Mac主机公开一个端口,以便主机上的浏览器可以访问它。我可以使用“run -it -p <端口>:<端口>…”命令来公开一个端口。在Linux主机上这肯定有效(我之前一直这么做没有问题),但是在我的Mac上从未奏效。所谓“从未奏效”,是指尽管“docker ps”命令显示了映射,如“0.0.0.0: 32769->8080 / tcp”,但没有任何端口从容器端被公开,也无法连接。因此,我想知道是否需要进行额外配置才能使其发生作用。我正在使用macOS Sierra 10.12和Docker版本1.11.1,构建5604cbe。感谢您的任何输入!

你是在本地测试还是从网络上的另一台机器进行测试?如果你正在尝试从另一个主机连接,那么很可能是防火墙问题。 - Jim Stewart
您是使用“本地”的Docker for Mac,还是Docker Machine? - nwinkler
1个回答

2

如果您正在使用Docker工具箱,请确保获取正确的Docker机器IP地址。

docker run -d -p 8080:80 --name webserver nginx

通过运行docker-machine ip命令查找正确的IP地址。你可能会得到192.168.99.100

然后,您可以在没有代理的情况下通过打开Web浏览器访问http://192.168.99.100:8080/来检查它。

如果您正在使用Docker for Mac,请阅读此文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接