kve*_*ldo 5 java docker dockerfile
我有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 Code Online (Sandbox Code Playgroud)
如何./run.sh在没有入口点的情况下为java做动态参数?(作为-Dversion=$version或其他)
我想在启动容器时传递此参数.
--entrypoint something 在Docker 1.11上不起作用;(
Jir*_*ser 11
您可以在结尾添加动态参数docker run ....你没有指定任何CMD指令,所以它会起作用.
在运行时,如果没有在结尾处指定任何命令,实际运行的docker run ...是:
ENTRYPOINT CMD (它是连接的,中间有一个空格)
所以你也可以使用类似的东西
...
ENTRYPOINT ["java", "-jar", "my_app.jar"]
CMD ["--spring.config.location=classpath:/srv/app/configs/application.properties"]
Run Code Online (Sandbox Code Playgroud)
这意味着,使用时
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(覆盖默认情况)
| 归档时间: |
|
| 查看次数: |
11780 次 |
| 最近记录: |