我在官方回购的docker容器中运行tomcat.
docker pull tomcat
Run Code Online (Sandbox Code Playgroud)
根据主页中所述的指导原则,我运行实例并启动Tomcat服务器
docker run -it --rm -p 8888:8080 tomcat:8.0
Run Code Online (Sandbox Code Playgroud)
并且端口8888上有Tomcat服务器.当我执行以下命令时,我能够在boot2docker中获得响应
curl localhost:8888
Run Code Online (Sandbox Code Playgroud)
但是我想从我的PC中安装的Web浏览器访问该页面(它不在Virtual Box中,安装在我的Windows中).我可以吗?如果是这样的话?
在docker-compose.yml上声明:
ports:
- "3306:3306"
Run Code Online (Sandbox Code Playgroud)
并在Dockerfile上:
EXPOSE 3306
Run Code Online (Sandbox Code Playgroud)
有同样的效果?
我已经使用以下配置在 docker 容器中成功运行了json-server一段时间:
码头工人文件:
FROM node:alpine
EXPOSE 3000
COPY deploy/conf/mockBackend.json /opt/mockBackend.json
RUN yarn global add json-server
CMD ["json-server", "/opt/mockBackend.json"]
Run Code Online (Sandbox Code Playgroud)
运行命令:
docker run -d -p 3000:3000 --name mockbackend mockbackend
Run Code Online (Sandbox Code Playgroud)
最近这停止工作。我进入ERR_CONNECTION_REFUSED
浏览器。
默认情况下 json-server 绑定到127.0.0.1,如果这是正确的,这可能会导致此问题。
我不知道为什么它以前工作过,但是将 json 服务器绑定到每个接口json-server -H 0.0.0.0 mockBackend.json使其再次工作。
我现在的问题是json-server手动在图像中以这种方式启动工作正常,但是当我CMD将 Dockerfile的行更改为以下CMD ["json-server", "-H 0.0.0.0", "/opt/mockBackend.json"]错误时:
码头工人日志:
\{^_^}/ hi!
Loading /opt/mockBackend.json
Done
Resources
http:// 0.0.0.0:3000/xxx
http:// 0.0.0.0:3000/yyy
Home
http:// 0.0.0.0:3000
Type s + enter at any …Run Code Online (Sandbox Code Playgroud)