我让 Gruntlocalhost:8080
在 docker 容器中运行节点连接 (grunt-contrib-connect) Web 服务器。我使用以下命令运行容器:
$ docker run --rm -it -p 8080:8080 js1972/yeoman:v3
.
在我的容器内,我运行 grunt connect 任务grunt develop
。
我在 Mac 上,所以使用 boot2docker。说主机 ip 是 192.168.59.103 所以我应该在浏览器中使用http://192.168.59.103:8080boot2docker ip
访问连接服务器。
但是这不起作用,我只是得到一个 safari 无法连接到服务器消息。(请注意,当我在 docker 网站示例中使用简单的 python Web 服务器时,端口转发工作得很好。)
知道这里有什么问题吗?同样的过程在 docker 之外运行得很好。我感觉这与在 localhost 上运行 Connect 有关。我尝试了 --add-hosts 和 -p localhost:8080:8080 的各种组合,等等都无济于事......
如果有帮助,这是我的 docker 文件和 gruntfile: https ://dl.dropboxusercontent.com/u/7546923/Dockerfile https://dl.dropboxusercontent.com/u/7546923/Gruntfile.js
Rgds,杰森。