如何在docker容器中运行grunt connect
我让Grunt在docker容器中的localhost:8080上运行节点连接Grunt contrib connect web服务器。我使用以下命令运行容器: $docker-run-rm-it-p8080:808080js1972/yeoman:v3 在我的容器中,我使用grunt develop运行grunt connect任务 我在Mac电脑上,所以使用boot2docker。boot2docker ip表示主机ip为192.168.59.103,因此我应该在浏览器中使用访问connect服务器 然而,这不起作用,我只是收到一条safari无法连接到服务器的消息。请注意,当我使用一个简单的python web服务器(如docker网站示例中所示)时,端口转发工作正常 你知道这是怎么回事吗?在docker之外,同样的过程也能很好地工作。 我觉得这与在本地主机上运行Connect有关。我尝试了各种-add hosts和-p localhost:8080:8080的组合,但都没有效果 如果有帮助,这是我的docker文件和Grunfile: Rgds,Jason。将localhost更改为0.0.0.0如何在docker容器中运行grunt connect,docker,boot2docker,grunt-contrib-connect,Docker,Boot2docker,Grunt Contrib Connect,我让Grunt在docker容器中的localhost:8080上运行节点连接Grunt contrib connect web服务器。我使用以下命令运行容器: $docker-run-rm-it-p8080:808080js1972/yeoman:v3 在我的容器中,我使用grunt develop运行grunt connect任务 我在Mac电脑上,所以使用boot2docker。boot2docker ip表示主机ip为192.168.59.103,因此我应该在浏览器中使用访问connec
目前,容器仅侦听本地接口上的内部连接。使用0.0.0.0将告诉它侦听所有接口,包括Docker主机连接到的接口。在GrunFile的连接设置中修改主机名的ip:
// The actual grunt server settings
connect: {
options: {
port: 8080,
// Change this to '0.0.0.0' to access the server from outside.
hostname: '0.0.0.0',
livereload: 35729
},
并打开服务器并将端口重新加载到boot2docker vm:
boot2docker poweroff # vm needs to be off to modify the network settings
VBoxManage modifyvm "boot2docker-vm" --natpf1 "containergruntserver,tcp,,8080,,8080"
VBoxManage modifyvm "boot2docker-vm" --natpf1 "containergruntreload,tcp,,35729,,35729"
boot2docker up
尝试将连接中的localhost更改为0.0.0.0Hanks Adrian-这就成功了,我从未想到过。现在需要了解0.0.0.0、localhost和127.0.0.1之间的差异-凉的0.0.0.0只侦听所有网络接口。127.0.0.1仅侦听本地环回接口IIRC。如果可以的话,我会添加一个答案。