尝试连接 docker 守护程序容器中的 http 服务器时连接被拒绝
Connection refused when try to connect http server in docker daemon container
我正在使用 boot2docker。我 运行 一个在守护进程模式下的图像,它在端口 3000 启动 g运行t 服务器。这是我用来启动它的命令。
那个镜像已经暴露了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
然后 运行 进入同一个容器 "curl" 网络服务器。
docker exec -it 3af4ba19c539 /bin/bash
curl localhost:3000
得到html.
但是,当我尝试在我的 mac 电脑上连接它时。它说 "Connection refused."
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
以监听所有接口,您应该会发现它可以从外部访问。
我正在使用 boot2docker。我 运行 一个在守护进程模式下的图像,它在端口 3000 启动 g运行t 服务器。这是我用来启动它的命令。
那个镜像已经暴露了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
然后 运行 进入同一个容器 "curl" 网络服务器。
docker exec -it 3af4ba19c539 /bin/bash
curl localhost:3000
得到html.
但是,当我尝试在我的 mac 电脑上连接它时。它说 "Connection refused."
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
以监听所有接口,您应该会发现它可以从外部访问。