尝试连接docker守护程序容器中的http服务器时拒绝连接

我正在使用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"

我可以知道如何解决这个问题.提前谢谢了

最佳答案
我需要确定您的应用程序的来源,但我愿意打赌您已绑定到应用程序中的本地环回接口(127.0.0.1或localhost).如果你改为绑定到0.0.0.0来监听所有接口,你会发现它可以从外部访问.

转载注明原文:尝试连接docker守护程序容器中的http服务器时拒绝连接 - 代码日志