如何将 war 文件和自定义配置添加到 wildfly docker 图像?

how to add a war file and custom configuration to a wildfly docker image?

my war file 运行s on wildfly 当我修改 standalone.xml 在文件末尾的部署部分添加文件路径时,如下所示: . .

</socket-binding-group>
  <deployments>
    <deployment name="mywar.war" runtime-name="mywar.war">
        <fs-exploded path="/local/path/exploded/mywar.war"/>
    </deployment>
  </deployments>
 </server>

如何构建这样的 docker 图像?

我从以下开始:

 FROM jboss/wildfly
 ADD standalone.xml /opt/jboss/wildfly/standalone/configuration
 ADD mywar.war mywar.war

其中 standalone.xml 具有以下内容:

  <deployment name="mywar.war" runtime-name="mywar.war">
        <fs-exploded path="/mywar.war"/>
  </deployment>

但是当我 运行 这个 docker 图像时,wildfly 抱怨:

 Caused by: java.io.FileNotFoundException: /mywar.war (No such file or directory)

我该如何解决这个问题?我的 war 在 docker 图片中应该放在哪里?如果我将其部署,wildfly 会抱怨存在重复资源。

好的,我解决了

这是我添加到 standalone.xml 的条目:

<deployments>
    <deployment name="mywar.war" runtime-name="mywar.war">
        <fs-exploded path="/opt/jboss/wildfly/exploded/mywar.war"/>
    </deployment>
</deployments>

这是对我有用的 Dockerfile:

 FROM jboss/wildfly
 ADD standalone.xml /opt/jboss/wildfly/standalone/configuration
 ADD build/libs/exploded /opt/jboss/wildfly/exploded