【发布时间】:2020-10-18 16:26:38
【问题描述】:
我用 OpenJDK 基础镜像创建一个 DocherFile 并运行 init.sh 脚本。
我想继承该 Dockerfile 并将 init.sh 覆盖为 test.sh 脚本。
是否可以“测试” docker 文件继承或扩展“my-app” docker 文件并覆盖 ENTRYPOINT?
我应该在 docker-compose 中同时定义“my-app”和“test”docker吗? 我可以只使用 docker-compose 运行测试 docker 而不同时运行两者吗?
我的目的是在生产中只运行“my-app”docker。但是对于测试,我想扩展它并运行测试和更多配置。
我的应用程序/Dockerfile:
FROM openjdk:11-jre-slim
COPY initialization.sh /path/
ENTRYPOINT ["/bin/bash", "-c", "/path/init.sh"]
测试/Dockerfile:
FROM my-app
COPY tset.sh /path/
ENTRYPOINT ["/bin/bash", "-c", "/path/tset.sh"]
【问题讨论】:
-
您尝试过什么,遇到了什么错误?
-
您想只运行 init.sh 进行生产,只运行 tset.sh 进行测试吗?或者对于测试,您是否想要为生产运行的结果并将其用于测试?
-
仅用于生产运行 init.sh。仅用于测试运行 test.sh 但也向 dockerfile 添加一些 RUN 命令。
标签: docker docker-compose docker-container