如何杀死容器内的进程?Docker最高命令

我有一个来自docker网站官方指南的简单示例。

我运行以下命令:

sudo docker run -d ubuntu:latest /bin/sh -c "while true; do echo hello world; sleep 1; done"

a66asdasdhqie123...

然后从创建的容器中获取一些输出:

sudo docker logs a66

hello

hello

hello

...

然后,我查找容器的运行过程:

sudo docker top a66

UID PID PPID C STIME TTY TIME CMD

root 25055 15152 0 20:07 ? 00:00:00 /bin/sh -c while true; do echo hello world; sleep 1; done

root 25295 25055 0 20:10 ? 00:00:00 sleep 1

接下来,我尝试杀死容器的第一个过程:

sudo docker exec a66 kill -9 25055

但是,在我做完之后,没有任何改变。进程仍然有效,并且每秒输出“ hello”。我怎么了

回答:

重现您的情况时,我会看到docker top <container>和之间的PID不同docker exec -it <container> ps

-aux。当您执行docker

exec命令时,将在容器内执行=>应使用容器的pid。否则,在这种情况下,您可以在没有docker的情况下直接从主机执行杀死操作sudo kill -9

25055

以上是 如何杀死容器内的进程?Docker最高命令 的全部内容, 来源链接: utcz.com/qa/435135.html

回到顶部