我有一个包含多个public static void main
(psvm
(的.jar,我希望在对图像进行docker run ... -e <class.path.from.env>
时能够调用它们并传递环境变量来指定类路径。像这样:
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<images>
<image>
<name>${project.artifactId}</name>
<build>
<from>java:8-jre</from>
<tags>
<tag>${build.environment}-latest</tag>
<tag>${build.environment}-${build.number}</tag>
</tags>
<entryPoint>
<exec>
<arg>java</arg>
<arg>-Duser.timezone=UTC</arg>
<arg>-cp</arg>
<arg>/opt/${project.artifactId}-${project.version}.jar</arg>
<arg>${class.path.from.env}</arg>
</exec>
</entryPoint>
<assembly>
<basedir>/opt</basedir>
<inline>
<files>
<file>
<source>target/${project.artifactId}-${project.version}.jar</source>
</file>
</files>
</inline>
</assembly>
</build>
</image>
</images>
</configuration>
</plugin>
虽然我阅读了整个文档docker-maven-plugin
,但我不确定如何完成这项工作。基本上我在哪里声明环境变量class.path.from.env
以及如何确保它得到我在docker run ...
中通过-e
的变量
我认为您需要在<build>
部分旁边声明一个<run>
部分,并将您的 env 变量添加到<env>
中,如下所述:https://dmp.fabric8.io/#misc-env
<run>
<env>
<CATALINA_OPTS>-Xmx32m</CATALINA_OPTS>
<JOLOKIA_OFF/>
</env>