我正在使用boot2docker。我在守护进程模式下运行一个映像,它在端口3000处启动grunt服务器。这是我用来启动它的命令。
该图片已暴露端口3000
docker run -d -P --name dummy image_name grunt server
docker ps
3af4ba19c539 image_name:latest "grunt server" 54 minutes ago Up 54 minutes 0.0.0.0:45000->3000/tcp dummy
然后运行到同一容器中“卷曲”Web服务器。
docker exec -it 3af4ba19c539 /bin/bash
curl localhost:3000
获取HTML。
然而,当我尝试在我的mac pc中连接它时。它说“连接被拒绝。”
curl $(boot2docker ip):45000
//curl: (7) Failed connect to 192.168.59.103:45000; Connection refused
我尝试使用VBoxManage来解决这个问题,但它无法正常工作
VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port45000,tcp,,45000,,45000"
我可以知道如何解决这个问题。非常感谢提前
答案 0 :(得分:7)
我需要确定您的应用程序的来源,但我愿意打赌您已绑定到本地环回接口(127.0.0.1
或localhost
)你的申请。如果你改为绑定到0.0.0.0
来监听所有接口,你会发现它可以从外面访问。