docker commit至少需要1个参数,最多需要2个参数

docker commit至少需要1个参数,最多需要2个参数,docker,Docker,我尝试在运行映像时自动启动jar文件: docker commit --change='CMD ["java", "-jar", "/tmp/demo.jar"]' interesting_jang ghaylensaada/demo:version2 但我有一个错误: "docker commit" requires at least 1 and at most 2 arguments. 我的命令有什么问题?使用“”而不是“” ' 例子: docker container commit-c

我尝试在运行映像时自动启动jar文件:

docker commit --change='CMD ["java", "-jar", "/tmp/demo.jar"]' interesting_jang ghaylensaada/demo:version2
但我有一个错误:

"docker commit" requires at least 1 and at most 2 arguments.
我的命令有什么问题?

使用“”而不是“” ' 例子: docker container commit-c=“CMD[“java”,“-jar”,“/tmp/hello world rest api.jar”]“keen_benz hello world rest api:manual3使用“”,而不是使用“” ' 例子:
docker container commit-c=“CMD[“java”,“-jar”,“/tmp/hello world rest api.jar”]”keen_benz hello world rest api:manual3

如果您使用的是windows,请使用power shell而不是CMD,同样的命令对我也适用

docker commit --change='CMD ["java", "-jar", "/tmp/demo.jar"]' interesting_jang ghaylensaada/demo:version2

如果您使用的是windows,请使用powershell而不是cmd,同样的命令也适用于我

docker commit --change='CMD ["java", "-jar", "/tmp/demo.jar"]' interesting_jang ghaylensaada/demo:version2

尝试使用反斜杠\来转义双引号,应该可以

docker commit --change="CMD [\"java\", \"-jar\", \"/tmp/demo.jar\"]" interesting_jang ghaylensaada/demo:version2

尝试使用反斜杠\来转义双引号,应该可以

docker commit --change="CMD [\"java\", \"-jar\", \"/tmp/demo.jar\"]" interesting_jang ghaylensaada/demo:version2

请包括
docker版本
。也可以考虑使用DoCKFrm来构建可再现的图像。我使用最新版本:19.03.5,构建63A0EA<代码> DOCKER提交几乎从来都不是最佳实践。您应该将其写入Dockerfile(包括要运行的默认
CMD
),并将其提交给源代码管理。然后,当您对应用程序代码进行更改时,您可以重新运行
docker build
以获得新映像。谢谢@DavidMaze,但我使用此命令只是为了测试,我在参加的在线课程中看到了它,但它对我不起作用。请包括
docker版本
。也可以考虑使用DoCKFrm来构建可再现的图像。我使用最新版本:19.03.5,构建63A0EA<代码> DOCKER提交几乎从来都不是最佳实践。您应该将其写入Dockerfile(包括要运行的默认
CMD
),并将其提交给源代码管理。然后,当您对应用程序代码进行更改时,您可以重新运行
docker build
,以获得新的映像。谢谢@DavidMaze,但我使用此命令只是为了测试,我在参加的在线课程中看到了它,但是它对我不起作用。请给你的答案添加一些解释,以便其他人可以从中学习。请给你的答案添加一些解释,以便其他人可以从中学习