dockerfile maven プラグインを使用して docker イメージをビルドしています。pom.xml ファイルでは、3 つの引数が dockerfile に送信されます。ここに dockerfile を追加しました。
ARG PROJECT_BASE_DIR
ARG TOMCAT_JULI_ADAPTER_VERSION
ARG TOMCAT_JULI_VERSION
FROM tomcat:8.0-jre8
ADD ${PROJECT_BASE_DIR}/target/dependency/log4j-1.2.17.jar /usr/local/tomcat/lib/
ADD ${PROJECT_BASE_DIR}/target/dependency/ojdbc7-12.1.0.2.jar /usr/local/tomcat/lib/
ADD ${PROJECT_BASE_DIR}/target/dependency/tomcat-extras-juli ${TOMCAT_JULI_ADAPTER_VERSION}.jar /usr/local/tomcat/lib/
ADD ${PROJECT_BASE_DIR}/target/dependency/tomcat-juli-${TOMCAT_JULI_VERSION}.jar /usr/local/tomcat/bin/
ADD ${PROJECT_BASE_DIR}/configuration/log4j.properties /usr/local/tomcat/lib/
ADD ${PROJECT_BASE_DIR}/configuration/server.xml /usr/local/tomcat/conf/
ADD ${PROJECT_BASE_DIR}/scripts/setenv.sh /usr/local/tomcat/
RUN chmod +x setenv.sh
RUN rm /usr/local/tomcat/conf/logging.properties
EXPOSE 8080
ENTRYPOINT [ "sh", "-c", "./setenv.sh" ]
pom.xml ファイル
<configuration>
<repository>${docker.image.name}</repository>
<tag>${project.version}</tag>
<buildArgs>
<PROJECT_BASE_DIR>${project.basedir}</PROJECT_BASE_DIR>
<TOMCAT_JULI_VERSION>${tomcat-juli.version}</TOMCAT_JULI_VERSION>
<TOMCAT_JULI_ADAPTER_VERSION>${tomcat-juli-adapters.version}</TOMCAT_JULI_ADAPTER_VERSION>
</buildArgs>
</configuration>
これを実行すると、${TOMCAT_JULI_VERSION}と${TOMCAT_JULI_ADAPTER_VERSION}の値は取得されませんが、${PROJECT_BASE_DIR} の値が取得されます。次のエラーが発生します。
追加に失敗しました: stat /var/lib/docker/tmp/docker-builder537359917/target/dependency/tomcat-extras-juli-.jar: そのようなファイルまたはディレクトリはありません