docker kill
语义
- 杀掉一个运行中的容器
语法
docker kill [OPTIONS] CONTAINER [CONTAINER...]
参数说明
- -s : --signal string 向容器内发送一个信号量,默认的信号量是SIGKILL
docker kill -s SIGKILL ${containerName}/${containerId}
实例
-
杀掉一个名称为nginx-4的容器
docker kill nginx-4
-
杀掉一个ID为 10ab6756f4ff 的容器
docker kill 10ab6756f4ff
-
传入SIGTERM信号量杀掉一个ID为 10ab6756f4ff 的容器
docker kill -s SIGTERM 10ab6756f4ff
docker stop和docker kill的差别
- 相同点
docker stop和docker kill都可以终止运行中的docke 容器,都是通过信号量的方式来通知容器 - 不同点
docker stop:docker通过containerd先发送SIGTERM信号量到容器主进程,允许其在一定时间(默认10秒)内进行一些必要的回收操作,如果通过containerd收到了容器退出的消息则表示退出成功,如果这段时间没有收到容器退出的消息,则发送SIGKILL信号强行杀死容器,整个过程比较优雅
docker kill:docker通过containerd默认直接发送SIGKILL信号量,直接杀死容器,也可以通过-s命令发送其它信号量
上述两个命令类似于linux中的kill和kill -9这两个命令,kill与docker stop相似,kill -9与docker kill类似