使用 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
.
我使用 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
.