ade*_*asi 7 java spring docker spring-boot
我有Dockerfile以下内容CMD来启动我的春季启动应用程序:
FROM java:8-jre
# ...
CMD ["java", "-jar", "/app/file*.jar"]
Run Code Online (Sandbox Code Playgroud)
当我尝试从创建的图像启动容器时,我得到:
Error: Unable to access jarfile /app/file*.jar
Run Code Online (Sandbox Code Playgroud)
但是当我重写CMD启动容器并在容器中执行命令时,一切正常:
docker run -it <imageId> bash
root@<containerId>:/app# java -jar /app/file*.jar
<spring boot app starts...>
Run Code Online (Sandbox Code Playgroud)
是否可以使用通配符和java -jar命令使用docker CMD?请不要告诉我不要使用通配符.我想用它原因;-)
更新 根据答案,我能够解决它:
CMD ["/bin/sh", "-c", "java -jar /app/file*.jar"]
Run Code Online (Sandbox Code Playgroud)
这种星号扩展是由命令行处理器 - shell完成的,你通过直接调用java来绕过它.
与在Windows下使用"CMD/C"调用命令以获得完全处理的方式大致相同.
/bin/sh改为调用.
| 归档时间: |
|
| 查看次数: |
2570 次 |
| 最近记录: |