Joa*_*oan 5 docker alpine-linux
我正试图在高山图像中停止一个码头集装箱:
> docker run -ti alpine sh
/ # poweroff
/ # poweroff -f
poweroff: Operation not permitted
/ # halt
/ # halt -f
halt: Operation not permitted
/ # whoami
root
Run Code Online (Sandbox Code Playgroud)
你知道这有什么问题吗?
您无法通过这种方式停止 docker 镜像。
首先,如果poweroff必须运行(过去曾这样做过,由于问题)它会关闭整个计算机,因为poweroff二进制文件的工作方式和电源暂停机制是在 Linux 和硬件上设计的。
为了正确关闭容器,您必须做的是退出入口点(exit在 shell 中),或向该进程发送信号(例如:docker stop发送SIGTERM到正在运行的入口点,然后在一段时间的宽限期后将其杀死)。
如果您真的想从容器内关闭主机(为什么要这样做?),您可以激活该--privileged选项,该选项将为容器内的根提供所有权力,然后执行以下操作:
echo 1 > /proc/sys/kernel/sysrq; echo o > /proc/sysrq-trigger
小心,这真的会以残酷的方式关闭主机。写作1中sysrq会激活sysrq内核的功能,它允许让键盘请求与内核的SysRq键还可以通过sysrq-trigger文件。o表示关机。
| 归档时间: |
|
| 查看次数: |
1119 次 |
| 最近记录: |