通过命令行在 Docker 中提交 CMD 更改时出错

Error in --commit CMD Change in Docker via command line

我正在尝试将 spring boot java .jar 文件放入 openJDK 的映像中,并在 docker 中提交更改,但是 docker 命令执行似乎不起作用

我正在按照这篇文章进行操作:https://dzone.com/articles/docker-tutorial-for-beginners-with-java-and-spring

什么参数是docker期望的,我没有在命令中给出

docker container commit --change='CMD ["java","-jar","/tmp/mytroubleartifact-0.jar"]' upbeat_brahmagupta a-repo-name-of-choice/some-app-name:tagname2

问题出在撇号 ' 你应该使用撇号s(复数 - 也称为引号s) "

这个命令似乎对我有用

(无需代表您进行任何更改):

docker container commit --change="CMD ['java','-jar','/tmp/mytroubleartifact-0.jar']" upbeat_brahmagupta a-repo-name-of-choice/some-app-name:tagname2

虽然我看到其他人对我使用单个撇号,但它也不适用于您的情况。 docker docs example 也不能只复制 --change 部分,有两个选项(-c--change),只有其中一个选项,只使用双引号就可以了,不完全确定为什么。 (尝试替换名称,使它们更短¯_(ツ)_/¯)

docker commit --change='CMD ["apachectl", "-DFOREGROUND"]' -c "EXPOSE 80" c3f279d17e0a svendowideit/testimage:version4

感谢这些帖子的工作示例:

https://adamtheautomator.com/docker-commit/ https://docs.oracle.com/cd/E37670_01/E75728/html/ch04s18.html