J'essaie de créer un fichier jar automatiquement lancé lorsqu'une image est exécutée:
"docker commit" requires at least 1 and at most 2 arguments.
Mais j'ai cette erreur:
docker commit --change='CMD ["java", "-jar", "/tmp/demo.jar"]' interesting_jang ghaylensaada/demo:version2
qu'est-ce qui ne va pas dans ma commande?
3 Réponses :
Utilisez "" au lieu de "" "Exemple: docker container commit -c =" CMD ["java", "- jar", "/ tmp / hello-world-rest-api.jar"] "keen_benz hello-world-rest -api: manuel3
Veuillez ajouter une explication à votre réponse afin que d'autres puissent en tirer des leçons
si vous utilisez Windows, utilisez Power Shell au lieu de cmd, la même commande fonctionne pour moi
docker commit --change='CMD ["java", "-jar", "/tmp/demo.jar"]' interesting_jang ghaylensaada/demo:version2
Essayez d'utiliser la barre oblique inverse \ pour échapper aux guillemets, cela devrait fonctionner
docker commit --change="CMD [\"java\", \"-jar\", \"/tmp/demo.jar\"]" interesting_jang ghaylensaada/demo:version2
Veuillez inclure la
docker version
. Pensez également à utiliser un Dockerfile pour créer des images reproductibles.Im utilisant la dernière version: 19.03.5, build 633a0ea
docker commit
n'est presque jamais une bonne pratique. Vous devez l'écrire dans un Dockerfile (y compris leCMD
par défaut que vous souhaitez exécuter) et le valider dans le contrôle de code source. Ensuite, lorsque vous modifiez le code de votre application, vous pouvez simplement réexécuter la version dedocker build
pour obtenir une nouvelle image.merci @DavidMaze, mais j'utilise cette commande uniquement pour tester, je l'ai vue dans le cours en ligne que je suis en train de suivre, mais cela ne fonctionne pas pour moi