Docker:在运行期间在容器中持久构建参数?

时间:2016-11-21 17:18:38

标签: java docker dockerfile docker-build

在Docker构建阶段,我传入了一个我要复制到容器中的特定JAR文件的参数。

Docker Build

docker build -t foo-service . --build-arg FAT_JAR=foo-service-1.0.0-SNAPSHOT

Dockerfile

FROM maven:3.3-jdk-8-alpine

# Install packages
RUN apk add --no-cache curl tar bash wget

EXPOSE 9000

ARG FAT_JAR

RUN echo "Copying $FAT_JAR.jar to container"


# Copy Fat Jar to directory
RUN mkdir /home/test
COPY target/$FAT_JAR.jar /home/test/
ADD config /home/test/config

# Set Jar permissions
RUN chmod -R 766 /home/test

CMD cd /home/test && java -jar "$FAT_JAR.jar" server config/local.yml

当我尝试运行Docker容器时,它无法打开我的jar文件,因为容器内没有$FAT_JAR

Docker Run

docker run --add-host="localhost:10.0.2.2" -t foo-service

错误

  

错误:无法访问jarfile .jar

如何持久化或让Container知道需要加载哪个文件?

即。

java -jar foo-service-1.0.0-SNAPSHOT.jar server config/local.yml

由于

0 个答案:

没有答案