Perché il carattere jolly per l'esecuzione del jar non funziona in CMD di docker?

Ho un Dockerfile con la seguente CMD per avviare la mia applicazione di avvio spring:

 FROM java:8-jre # ... CMD ["java", "-jar", "/app/file*.jar"] 

Quando cerco di avviare un contenitore dall'image creata, ottengo:

 Error: Unable to access jarfile /app/file*.jar 

Ma quando sovrascrivo il CMD durante l'avvio del contenitore e l'esecuzione del command nel contenitore tutto funziona bene:

 docker run -it <imageId> bash [email protected]<containerId>:/app# java -jar /app/file*.jar <spring boot app starts...> 

È ansible utilizzare i caratteri jolly con il command java -jar usando i CMD del docker? Per favore non mi dica di non usare i caratteri jolly. Voglio usare la causa dei motivi 😉

Aggiornamento In base alla risposta ho potuto risolvere il problema:

 CMD ["/bin/sh", "-c", "java -jar /app/file*.jar"] 

Questo tipo di espansione di asterisco è fatto dal processre di row di command – il guscio – e si elude che invocando java direttamente.

In modo molto simile ai comandi dovrebbe essere richiamato con "CMD / C" in Windows per get il trattamento completo.

Invoke invece /bin/sh .