Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker kill 常用命令。

1、docker kill 简介

docker kill用于kill一个或多个正在运行的容器。docker kill子命令可以杀死一个或多个容器。容器内的主进程被发送SIGKILL信号(默认),或者用--signal选项指定的信号。可以通过容器的ID、ID前缀或名称引用容器。

--signal标志设置发送到容器的系统调用信号。该信号可以是一个信号名,格式为SIG,例如SIGINT,也可以是一个与内核系统调用表中的位置匹配的无符号数字,例如2

虽然默认的(SIGKILL)信号会终止容器,但通过--signal设置的信号可能是非终端的,这取决于容器的主进程。例如,SIGHUP信号在大多数情况下是非终端的,容器在接收到信号后将继续运行。

注意:在shell中,ENTRYPOINTCMD作为/bin/sh -c的子进程运行,它不传递信号。也就表示可执行文件不是容器的PID 1,不会接收Unix信号。

2、docker kill 语法

docker kill [OPTIONS] CONTAINER [CONTAINER...]

参考文档:https://docs.docker.com/engine/reference/commandline/history/

3、docker kill 命令

1)向容器发送终止信号

docker kill my_container

2)向容器发送自定义信号(--signal)

docker kill --signal=SIGHUP  my_container

3)可以通过名称或数字指定自定义信号

SIG前缀是可选的

docker kill --signal=SIGHUP my_container
docker kill --signal=HUP my_container
docker kill --signal=1 my_container

4、选项说明

命令

描述

--signal , -s

要发送到容器的信号

推荐文档

相关文档

大家感兴趣的内容

随机列表