ibo*_*odi 7 restart docker pause docker-container
我试图了解命令docker stop ContainerID
和之间的区别docker pause ContainerID
.根据此页面,它们都用于暂停现有的Docker容器.
Mos*_*ael 19
docker stop
和 和有什么区别docker pause
?docker stop
:发送SIGTERM
(终止信号),如果需要的话SIGKILL
(终止信号)docker pause
:发送SIGSTOP
(暂停信号)
SIGTERM
:默认行为是终止进程,但也可以捕获或忽略它。其目的是无论是否优雅地终止该进程,但首先给它一个清理的机会。
SIGKILL
:唯一的行为是立即终止进程。由于进程无法捕获信号,因此无法进行清理;因此,这是最后手段的信号。
SIGSTOP
:唯一的行为是暂停进程;该信号无法被捕获或忽略。shell 使用暂停(及其对应的,通过 SIGCONT 恢复)来实现作业控制
docker stop
和docker pause
?docker stop
:当您希望清理内存或删除所有进程的缓存数据时。简而言之,您不再关心容器中的进程,并且可以轻松地杀死它们。docker pause
:当你只想暂停容器中的进程时;您不希望他们丢失数据或状态。例子:
考虑一个带有柜台的容器。假设计数器已达到 3000。运行docker stop
将导致计数器丢失其值,并且您将无法检索它。docker pause
另一方面,使用将保持计数器状态和值。
希望现在清楚了!
Hem*_*ngh 13
该docker pause
命令将挂起指定容器中的所有进程.在Linux上,它使用cgroups冷冻器.传统上,当暂停进程时,使用SIGSTOP信号,该进程被暂停可观察到
https://docs.docker.com/engine/reference/commandline/pause/
该docker stop
命令.容器内的主进程将接收SIGTERM,并在宽限期后,SIGKILL.
https://docs.docker.com/engine/reference/commandline/stop/#options
SIGTERM
是终止信号.默认行为是终止进程,但也可以捕获或忽略它.目的是优先或不优先地杀死这个过程,但首先要让它有机会进行清理.
SIGKILL
是杀戮信号.唯一的行为是立即杀死进程.由于该过程无法捕获信号,因此无法清理,因此这是最后的信号.
SIGSTOP
是暂停信号.唯一的行为是暂停这个过程; 信号无法被捕获或忽略.shell使用pausing(及其对应的,通过SIGCONT恢复)来实现作业控制.
归档时间: |
|
查看次数: |
7186 次 |
最近记录: |