Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何知道docker CMD何时完成?_Docker_Dockerfile - Fatal编程技术网

如何知道docker CMD何时完成?

如何知道docker CMD何时完成?,docker,dockerfile,Docker,Dockerfile,我想知道是否有人知道是否有可能知道docker CMD何时完成执行 我最初尝试将ENTRYPOINT命令放在CMD之后,但当您运行docker容器时,它会立即运行 另外,如果这只能通过docker compose完成,那么如果有办法知道命令:何时完成,也可以 一旦CMD完成运行,容器就会停止并退出 您可以使用: $docker wait[容器名称/id] 等待容器停止。如果容器已停止,此命令将立即返回。否则,它将等待容器完成其工作,或者以其他方式停止 从 阻止,直到一个或多个容器停止,然后打印其

我想知道是否有人知道是否有可能知道docker CMD何时完成执行

我最初尝试将ENTRYPOINT命令放在CMD之后,但当您运行docker容器时,它会立即运行


另外,如果这只能通过docker compose完成,那么如果有办法知道命令:何时完成,也可以

一旦CMD完成运行,容器就会停止并退出

您可以使用:

$docker wait[容器名称/id]

等待容器停止。如果容器已停止,此命令将立即返回。否则,它将等待容器完成其工作,或者以其他方式停止

阻止,直到一个或多个容器停止,然后打印其出口代码

直到容器停止/终止,Docker CMD才会执行。CMD指令是启动将在容器内运行的主进程的一种方法。此进程将一直运行,直到 容器被停止或杀死


在Dockerfile中,将CMD或ENTRYPOINT指令放在何处并不重要。如果在同一dockerfile中同时包含and ENTYPOINT和CMD指令,CMD将作为参数附加到ENTRYPOINT命令。

前两个答案确实正确,但不会直接回答您的问题。CMD完成后,容器将退出,但在被删除之前,容器仍将存在于主机上

假设您使用-d启动docker运行或docker compose,以便它们在后台运行:

docker容器ps只显示正在运行的容器,所以一旦它退出,docker容器ps-a就会显示它。 docker compose ps显示所有compose服务的状态,包括停止的容器。
链接有一个输入错误,而且似乎也断了: