我试图使用war文件和jetty构建一个docker镜像,除了一件事之外,这些教程看起来非常直接。
FROM jetty
ADD mysample.war /var/lib/jetty/webapps/root.war
EXPOSE 8080
但我的系统上没有/var/lib/jetty/webapps/root.war。将已安装的码头安装到/usr/local/Cellar/jetty/9.4.8.v20171121,但路径下没有root.war。
如果重要的话,我正在运行macOS 10.12.6。
答案 0 :(得分:1)
如果您使用的是官方泊坞窗图片......
https://hub.docker.com/_/jetty/
.. /var/lib/jetty
路径是${jetty.base}
目录。
当Dockerfile
使用时:
ADD mysample.war /var/lib/jetty/webapps/root.war
将mysample.war
带到${jetty.base}/webapps/
并使用root.war
的特殊保留名称contextPath = "/"
。
本地安装的路径/usr/local/Cellar/jetty/9.4.8.v20171121
与您的docker镜像无关,它可能不是${jetty.base}
目录(它看起来像${jetty.home}
目录路径)
如果您使用了以下内容......
ADD mysample.war /var/lib/jetty/webapps/hello.war
然后该战争将部署到contextPath = "/hello"
,这意味着你可以通过一般网址访问...
<scheme>://<host:port>/<contextPath>/<resourceInWar>
Examples:
http://localhost:8080/hello/
https://machine.com/hello/main.css
参考:https://www.eclipse.org/jetty/documentation/9.4.x/automatic-webapp-deployment.html