Как использовать регулярные выражения с функцией COPY в Dockerfile - PullRequest
0 голосов
/ 10 мая 2019

Мне нужно развернуть приложение с помощью Docker, и я использую Dockerfile. ниже вы можете найти мой Dockerfile.

# The image is internal, so I only added the rhel:7 part of it
FROM rhel:7
RUN yum install -y java-1.8.0-openjdk.x86_64
VOLUME /tmp
COPY "my-application-[0-9\.]*(-SNAPSHOT)?\.jar" my-application.jar
ENTRYPOINT ["java","-Xms256m","-Xmx512m","-Djavax.net.ssl.trustStore=/var/run/spring/config/cacerts","-Djava.security.egd=file:/dev/urandom","-jar","my-application.jar"]
EXPOSE 8080 8443

Файл, созданный в процессе сборки, имеет следующий формат my-application-1.2.3.jar или my-application-1.2.3-SNAPSHOT.jar, рядом с этим файлом также создается исходный файл, my-application-1.2.3-sources.jar. Поэтому я хочу скопировать только my-application-1.2.3.jar.

Регулярное выражение, которое я пробовал с фиктивными файлами: my-application-[0-9\.]*(-SNAPSHOT)?\.jar

Я уже безуспешно попробовал следующее:

  1. COPY *.jar my-application.jar
  2. RUN /bin/bash -c 'find . -iregex "\.\/my-application-[0-9\.]*(-SNAPSHOT)?\.jar" -exec cp {} my-application.jar \;'

У меня очень простой опыт работы с Java, но мне нужно развернуть это приложение с помощью Docker.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...