首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新运行主镜像Dockerfile中的复制指令,替换基础镜像中已存在的同名文件

重新运行主镜像Dockerfile中的复制指令,替换基础镜像中已存在的同名文件
EN

Stack Overflow用户
提问于 2020-02-12 23:32:11
回答 1查看 44关注 0票数 0

我有一个包含Dockerfile的镜像,其中包含以下说明:-

代码语言:javascript
复制
FROM openjdk:8-jre

VOLUME ["/hygieia/logs"]

RUN mkdir /hygieia/config

EXPOSE 8080

ENV PROP_FILE /hygieia/config/application.properties

WORKDIR /hygieia

COPY target/*.jar /hygieia
COPY docker/properties-builder.sh /hygieia/

CMD ./properties-builder.sh &&\
  java -Djava.security.egd=file:/dev/./urandom -jar *.jar --spring.config.location=$PROP_FILE

现在,我想使用它作为基础镜像,并将其标记为,例如,使用它构建一个新的镜像,但将properties-builder文件覆盖为新的指令。以下是我正在尝试做的事情:

代码语言:javascript
复制
FROM hygieiaapi:latest
COPY docker/properties-builder.sh /hygieia/
ENTRYPOINT ./properties-builder.sh &&\
  java -Djava.security.egd=file:/dev/./urandom -jar *.jar --spring.config.location=$PROP_FILE

因此,我要做的就是将/hygieia目录下的properties-builder.sh文件替换为新的properties-builder.sh文件,然后使用入口点重置基本映像中的CMD。我不确定复制指令是否能够复制properties-builder.sh文件并将其替换为已经存在的文件(从基本映像),或者这是否会发生冲突。我还没有构建和测试这一点,我想先寻求澄清。请提个建议。

EN

回答 1

Stack Overflow用户

发布于 2020-06-09 23:12:58

我能知道你为什么要更换properties-builder.sh吗?我已经成功地使用他们默认的dockerfile & property-builder.sh打开了这个hygieia应用程序接口镜像。

如果您想要更改属性文件中的值,您可以只使用环境变量来存储值。在创建application.properties文件时,properties-builder.sh检查env的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60191792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档