在docker客戶端命令行中我們可以使用stop命令停止一個(gè)運(yùn)行中的容器,使用kill命令殺掉一個(gè)運(yùn)行中的容器。
示例
docker stop :停止一個(gè)運(yùn)行中的容器
語法
docker stop [OPTIONS] CONTAINER [CONTAINER...]
例如停止運(yùn)行中的容器mynginx,命令如下:
$ docker stop mynginx
示例
docker kill :殺掉一個(gè)運(yùn)行中的容器。
語法
docker kill [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS說明:
-s :向容器發(fā)送一個(gè)信號(hào)
例如,殺掉運(yùn)行中的容器mynginx,命令如下:
$ docker kill -s KILL mynginx
docker的stop命令和kill命令的區(qū)別:
docker stop:當(dāng)我們用docker stop命令來停掉容器的時(shí)候,docker默認(rèn)會(huì)允許容器中的應(yīng)用程序有10秒的時(shí)間用以終止運(yùn)行,在docker stop命令執(zhí)行的時(shí)候,會(huì)先向容器中PID為1的進(jìn)程發(fā)送系統(tǒng)信號(hào)SIGTERM,然后等待容器中的應(yīng)用程序終止執(zhí)行,如果等待時(shí)間達(dá)到設(shè)定的超時(shí)時(shí)間,或者默認(rèn)的10秒,會(huì)繼續(xù)發(fā)送SIGKILL的系統(tǒng)信號(hào)強(qiáng)行kill掉進(jìn)程。
docker kill:默認(rèn)情況下,docker kill命令不會(huì)給容器中的應(yīng)用程序有任何等待的機(jī)會(huì)。它會(huì)直接發(fā)出SIGKILL的系統(tǒng)信號(hào),以強(qiáng)行終止容器中程序的運(yùn)行。