无法找到码头的root.war

时间:2018-02-21 21:26:20

标签: jetty

我试图使用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。

1 个答案:

答案 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