在Windows10上将Linux容器作为主机运行时无法转发端口

时间:2019-01-31 16:24:33

标签: windows docker windows-10 google-cloud-sdk linux-containers

我是使用Docker的新手。我一直在尝试使用Docker在Linux容器中部署带有Google Cloud映像的Linux容器(以Windows为主机)。我能够做得很好,最后服务器运行良好,但是当我想使用浏览器中的localhost检查服务器时,我得到了一个空白页面:

Blank page

这是Dockerfile:

FROM google/cloud-sdk
ENV PATH /usr/lib/google-cloud-sdk/bin:$PATH
WORKDIR docker_folder
COPY local_folder/ .
RUN pwd
EXPOSE 8080
CMD ["java_dev_appserver.sh", "."]

这是我用来构建映像的命令(在CMD中):

docker build --tag serverdeploy .

这是我用来运行容器的命令

docker run -p 8080:8080 serverdeploy

这是我运行服务器时获得的堆栈跟踪

where I know that I running the server

我做了一些研究,当您在Windows中使用Linux容器时,似乎Docker的端口有问题(不确定它是否已解决)。我已经尝试了所有可能的解决方案(甚至尝试用在cmd上运行 ipconfig 时得到的所有 ip 替换“ localhost”) ),但仍然出现相同的错误。

还有,作为最后的希望,我需要您的帮助以了解我做错了什么,或者如果我错过了什么

1 个答案:

答案 0 :(得分:0)

您正在将服务绑定到localhost-这意味着不接受远程连接(以及绑定到127.0.0.1。对于您的容器,主机是一个远程连接。

将绑定更改为0.0.0.0(我猜这是默认设置)并享受。

再次分享您的java_dev_appserver.sh将有助于回答问题。