Java 来自Docker容器内运行的服务器的空响应
我的笔记本电脑上运行着一个Docker容器,其中包含一个服务器。服务器正在Java 来自Docker容器内运行的服务器的空响应,java,macos,docker,Java,Macos,Docker,我的笔记本电脑上运行着一个Docker容器,其中包含一个服务器。服务器正在localhost:9000上运行。我在笔记本电脑和虚拟机之间设置了如下端口转发: VBoxManage modifyvm "default" --natpf1 "tcp-port9000,tcp,,9000,,9000"; docker run -p 9000:9000 -t -i my-image 现在,我尝试启动这样一个容器: VBoxManage modifyvm "default" --natpf1 "tcp
localhost:9000
上运行。我在笔记本电脑和虚拟机之间设置了如下端口转发:
VBoxManage modifyvm "default" --natpf1 "tcp-port9000,tcp,,9000,,9000";
docker run -p 9000:9000 -t -i my-image
现在,我尝试启动这样一个容器:
VBoxManage modifyvm "default" --natpf1 "tcp-port9000,tcp,,9000,,9000";
docker run -p 9000:9000 -t -i my-image
但当我尝试连接时,会出现以下错误:
$ curl localhost:9000
> curl: (52) Empty reply from server
看看我服务器的日志,请求根本就没有到达那里,所以一定是出了什么问题。如何诊断此问题?登录docker容器并执行卷曲。首先检查应用程序是否正在运行。从容器中卷曲时,我会得到预期的响应。是否服务器绑定不接受非本地主机连接?您可以使用
docker run--rm-it--link curl server:9000检查,谢谢,这就是问题所在。解决方案是使用IP地址0.0.0.0