如何在Dockerfile中将正则表达式与COPY函数一起使用

时间:2019-05-10 14:40:55

标签: regex dockerfile

我需要使用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.jarmy-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部署此应用程序。

0 个答案:

没有答案