在使用docker时候,如果想要停止容器,首先想到的是docker stop [containerId]除此之外,还有docker kill [containerId]和docker pause [containerId]那么这三个有啥区别和联系呢?
docker stop [containerId] 命令
发送stop命令后, 停止一个或多个正在运行的容器 。首先会发送SIGTERM信号给容器的主进程,然后等待一段时间(默认是10s,可以通过-t参数来指定等待的时间),如果还没有杀死进程,则发送SIGKILL。
docker kill [containerId] 命令
发送kill命令后, 杀死一个或多个正在运行的容器。 容器内的主进程收到SIGKILL信号(默认),或用--signal选项指定的信号。
docker pause [containerId] 命令
发送pause信号后,暂定一个或者多个容器的所有进程。 会传递 SIGSTOP 信号,这允许容器内的进程处于暂停状态。所以当 docker unpause 发出时,SIGCONT 信号被传递给容器进程以恢复容器进程。 使用pause命令暂停容器后,并不占用系统的CUP和内存资源。通过docker stats命令也无法查看到pause状态的容器