我正在尝试用我的war文件和jetty构建一个docker镜像,除了一件事之外,教程似乎相当直接。
FROM jetty
ADD mysample.war /var/lib/jetty/webapps/root.war
EXPOSE 8080
但我的系统上没有/var/lib/jetty/webapps/root.war。 Brew将jetty安装到/usr/local/Cellar/jetty/9.4.8.v20171121,但路径下没有root.war。
如果重要的话,我正在运行macOS 10.12.6。
如果您使用的是官方码头图片......
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