繁体   English   中英

从高山图像中停止泊坞容器

[英]Stop a docker container from within an alpine image

我正试图在高山图像中停止一个码头集装箱:

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

你知道这有什么问题吗?

你无法以这种方式停止码头图像。

首先,如果poweroff不得不功能(和它过去那样, 由于问题 ),它会因为如何关闭整个电脑, poweroff二进制工作和电源停止机械设计上的Linux和硬件。

为了正确关闭容器,你需要做的就是退出入口点(在shell中exit ),或者向这个进程发送一个信号(例如: docker stopSIGTERM发送到正在运行的入口点,然后在一段时间后终止它) 。

如果你真的想从一个容器中关闭主机(为什么你想要这样做?),你可以激活--privileged选项,它将为容器中的root提供所有电源,然后执行:

echo 1 > /proc/sys/kernel/sysrq; echo o > /proc/sysrq-trigger

小心,这将真正关闭主机,并以残酷的方式。 sysrq编写1将激活sysrq内核功能,该功能允许使用SysRq密钥向内核发出键盘请求,但也可以通过sysrq-trigger文件。 o表示断电。

Fedora项目 - Sysrq

你需要终止进程sh ,只需使用:

exit

从容器内部。 将容器视为一个独立的进程,而不是虚拟机。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM