docker-maven-plugin: как передать переменную окружения из `docker run ... -e <value>` для построения или запуска шага? - PullRequest
0 голосов
/ 12 октября 2018

У меня есть .jar, содержащий несколько public static void main (psvm), которые я хочу вызывать, когда я делаю 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 и как я могу убедиться, что она получает ту, через которую я передаю -e в docker run ...?

1 Ответ

0 голосов
/ 14 августа 2019

Я думаю, вам нужно объявить раздел <run> рядом с разделом <build> и добавить переменную env в <env>, как описано здесь: https://dmp.fabric8.io/#misc-env

<run>
  <env>
    <CATALINA_OPTS>-Xmx32m</CATALINA_OPTS>
    <JOLOKIA_OFF/>
  </env>
...