使用 Docker 工具箱安装 Mac OSX Docker 中的端口映射

Port mapping in Docker on Mac OSX installed with Docker Toolbox

我使用 Docker 工具箱在 Mac 上安装了 Docker。

我打开了 Docker 快速启动终端和 运行

docker run hello-world

效果很好。

然后我尝试了:

docker run -d -p 8080:80 nginx

可以看到容器已添加。 docker log 容器 ID returns 没什么,但我认为这很正常?

当我使用 chrome 浏览到 localhost:8080 时,我没有看到 nginx 欢迎页面。我尝试了 运行 几个不同的容器,这些容器应该为流量提供服务,但其中 none 有效。现有的 github 问题和 SO 问题似乎都在谈论不再存在的事情 - 或者至少在 Mac OSX.

上不是默认的

localhost 不是您的 docker 运行ning 所在的主机。您需要转到 运行ning docker 守护程序的 IP 地址。

要查找您的 docker 机器的 IP 地址,运行 命令:

docker-machine ip default

其中 default 是您的 VM 的名称(我认为大多数安装都是如此)。

如果该命令返回类似 192.168.99.100 的内容,那么您可以访问 运行ning docker 容器,它的公开端口如下:192.168.99.100:8080.