我刚开始使用Docker。我一直在尝试使用Docker部署一个Linux容器(以Windows为主机),其中包含Google Cloud映像。我可以把每件事都做好,最后服务器运行得很好,但当我想使用浏览器中的localhost检查服务器时,我得到了一个空白页面,其中包含:
空白页
这是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
这是我运行服务器时得到的堆栈跟踪
我知道我在哪里运行服务器
我做了一些研究,看起来Docker在Windows中使用Linux容器时端口有问题(不确定是否已经解决)。我已经尝试了我在那里找到的所有可能的解决方案(甚至试图用我在cmd上运行ipconfig时得到的所有ip的替换"localhost"),但我仍然得到了相同的错误。
而且,作为最后的希望,我需要你的帮助来理解我做错了什么,或者如果我错过了什么
您正在运行绑定到localhost
的服务-这意味着不接受任何远程连接(以及绑定到127.0.0.1
。对于您的容器,主机是远程连接。
将绑定更改为0.0.0.0
(我想这是默认的)并享受。
顺便说一句,分享你的java_dev_appserver.sh
将有助于回答这个问题。