找不到码头的root.war

问题描述 投票:0回答:1

我正在尝试用我的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。

jetty
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.