1
votes

docker commit nécessite au moins 1 et au plus 2 arguments

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?


4 commentaires

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 le CMD 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 de docker 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


3 Réponses :


3
votes

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


1 commentaires

Veuillez ajouter une explication à votre réponse afin que d'autres puissent en tirer des leçons



0
votes

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


0 commentaires

0
votes

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


0 commentaires