gpt4 book ai didi

docker - 从 alpine 镜像中停止 docker 容器

转载 作者:行者123 更新时间:2023-12-04 18:01:56 31 4
gpt4 key购买 nike

我正在尝试从 alpine 图像中停止 docker 容器:

> docker run -ti alpine sh
/ # poweroff
/ # poweroff -f
poweroff: Operation not permitted
/ # halt
/ # halt -f
halt: Operation not permitted
/ # whoami
root

你明白这有什么问题吗?

最佳答案

您无法通过这种方式停止 docker 镜像。

首先,如果poweroff必须运行(过去确实如此, due to an issue )它会关闭整个计算机,因为 poweroff二进制正在运行,断电机制是在 Linux 和硬件上设计的。

为了正确关闭容器,您必须做的是退出入口点(shell 中的 exit),或向该进程发送信号(例如:docker stopSIGTERM 发送到正在运行的入口点,然后再杀死它一段宽限期)。

如果你真的想从容器内关闭主机(你为什么要这样做?),你可以激活 --privileged选项,它将为您在容器内的根提供所有权力,然后执行以下操作:
echo 1 > /proc/sys/kernel/sysrq; echo o > /proc/sysrq-trigger
小心,这真的会以残酷的方式关闭主机。写作 1sysrq将激活 sysrq内核特性,允许使用 SysRq key 向内核发出键盘请求还要通过sysrq-trigger文件。 o表示关机。

Fedora Project - Sysrq

关于docker - 从 alpine 镜像中停止 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45123496/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com