我在Docker容器中运行了一个Node Connect (grunt-contrib-connect)网络服务器,端口号为
localhost:8080
。我使用以下命令运行容器:$ docker run --rm -it -p 8080:8080 js1972/yeoman:v3
。在容器内部,我使用grunt develop
命令运行grunt connect任务。由于我使用的是Mac系统,所以使用boot2docker。通过boot2docker ip
命令可以查看主机IP地址为192.168.59.103,因此我应该通过http://192.168.59.103:8080来访问连接服务器。然而,这并不起作用,我只收到Safari无法连接到服务器的消息。(请注意,当我使用像Docker网站示例中的简单Python Web服务器时,端口转发正常工作)。有什么想法吗?同样的过程在Docker之外完美地工作。我有一种感觉是在本地主机上运行Connect的问题。我尝试了各种组合,如--add-hosts和-p localhost:8080:8080等,但都没有成功...如果有帮助的话,这是我的Docker文件和Gruntfile:https://dl.dropboxusercontent.com/u/7546923/Dockerfilehttps://dl.dropboxusercontent.com/u/7546923/Gruntfile.js。谢谢,Jason。