为什么在停止 LXC 客户机时主机也会停止?

为什么在停止 LXC 客户机时主机也会停止?

我按照以下说明在 Debian 7 (wheezy) 上创建一个 LXC 盒: http://fabiorehm.com/blog/2013/07/18/crafting-your-own-vagrant-lxc-base-box/

我使用以下命令启动容器/客户机:

sudo lxc-start -n wheezy-base

但当我停止它时,主机也会停止。

sudo halt

我做错了什么?如何正确停止 LXC 客户机并返回主机?

谢谢

答案1

您正在使用 Debian 7,并且无权访问 LXC 用户命名空间(应该可在 jessie 中使用,并且在 stretch 中可用)。因此,容器中的“root”相当于主机上的 root。因此,当您调用时,sudo halt您是以整个系统的 root 身份调用的。

(此类旧系统上的容器并不安全,也无法变得安全;对于任何需要中等安全性的容器工作,您都应该使用较新版本的 Debian,或者最好是基于 Red Hat 的系统。)

要终止容器,请从容器外部使用lxc-stop

lxc-stop -n wheezy-base -k

从容器内部,尝试kill -PWR 1伪装容器的初始化进程,使其认为(不存在的)电源按钮已被按下。

相关内容