将parameter passing给docker入口点
我有Dockerfile
FROM java:8 ADD my_app.jar /srv/app/my_app.jar WORKDIR /srv/app ENTRYPOINT ["java", "-jar", "my_app.jar", "--spring.config.location=classpath:/srv/app/configs/application.properties"]
在入口点如何在没有./run.sh
情况下为java创builddynamic参数? (如-Dversion=$version
或其他)
我想在启动容器时传递这个参数。
--entrypoint something
不能在Docker 1.11上工作;(
您可以在docker run ...
结束时附加您的dynamic参数。 你还没有指定任何CMD
指令,所以它会工作。
什么是实际运行没有指定任何命令在运行docker run ...
,是这样的:
ENTRYPOINT CMD
(它连接在一起并且有一个空格)
所以你也可以使用类似的东西
... ENTRYPOINT ["java", "-jar", "my_app.jar"] CMD ["--spring.config.location=classpath:/srv/app/configs/application.properties"]
这意味着,在使用时
docker run mycontainer
的
java -jar my_app.jar --spring.config.location=classpath:/srv/app/configs/application.properties
将被调用(默认情况下),但在运行时
docker run mycontainer --spring.config.location=classpath:/srv/app/configs/some_other_application.properties -Dversion=$version
它将运行w /不同的属性文件和系统属性称为version
(覆盖默认情况下)
- 如何在“docker build”期间更新Docker镜像中的/ etc / hosts文件
- Docker构build提供了“无法准备上下文:上下文必须是一个目录:/ Users / tempUser / git / docker / Dockerfile”
- 可以将Docker COPY命令链接在一起
- 在Docker中运行一个生态系统
- build立docker图像与angular2,jupyter和打字稿
- Docker – “127.0.0.1”不是有效的端口 – Django
- Docker:将目录从一个容器挂载到另一个容器
- Dockerizing kafka给出非零退出代码
- 如何在Docker中从挂载的卷运行bash脚本并将该端口暴露在容器外部?