首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Debian 11 Bullseye上自动启动非特权LXC容器

无法在Debian 11 Bullseye上自动启动非特权LXC容器
EN

Unix & Linux用户
提问于 2021-12-28 19:34:24
回答 1查看 1K关注 0票数 1

lxc-autostart不会在Debian 11 Bullseye中启动非特权容器。

Debian11Bullseye中的非特权容器的启动是在这个回答中通过使用lxc-unpriv-start而不是lxc-start来解决的,但是在使用lxc-autostart时我无法利用这种方法。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-12-30 17:04:08

基本解

好的,在几个不眠之夜之后,我为每个容器提供了一个简单的systemd单元文件。一个例子可能如下所示:

代码语言:javascript
复制
[Unit]
Description=Linux container my-container-name
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/lxc-start -n my-container-name
ExecStop=/usr/bin/lxc-stop -n my-container-name
StandardOutput=journal
User=my-lxc-user
Group=my-lxc-user
Delegate=yes

[Install]
WantedBy=multi-user.target

Delegate=yes是对这里推荐的简单跟进,也是在我已经链接到的回答中进行的。

用户挥之不去,不需要(提到这里)。

这个解决方案的一个好的副作用是关闭(非特权的)容器不再延迟主机的关闭(如描述的这里),因为使用ExecStop中定义的/usr/bin/lxc-stop -n my-container-name而不是发送信号。

调优-系统模板

由于有了系统模板单元文件,可以对所有容器使用单个unif文件。最后一个模板单元文件如下所示:

代码语言:javascript
复制
[Unit]
Description=Linux container %I
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/lxc-start -n %i
ExecStop=/usr/bin/lxc-stop -n %i
StandardOutput=journal
User=lxc
Group=lxc
Delegate=yes

[Install]
WantedBy=multi-user.target

由于我将文件命名为lxc@.service并将其放置到/etc/systemd/system/中,所以可以使用systemctl COMMAND lxc@my-container-name.service控制所有容器。

(请注意,lxc.service是最初的,负责lxc-autostart的)

欢迎对单元文件等进行任何改进!-因为我不是专家,我基本上使用了官方文件这个伟大的答案

调优-系统用户服务

另一步是使用Systemd用户服务,因此在部署新容器时不需要充当root用户。

单元文件将略有不同:

代码语言:javascript
复制
[Unit]
Description=LXC container %I
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/lxc-start -n %i
ExecStop=/usr/bin/lxc-stop -n %i
StandardOutput=journal
Delegate=yes

[Install]
WantedBy=default.target

由于multi-user.target是用于用户服务的不可用,所以我们必须使用default.target

这次必须启用用户滞留,以便服务在启动时启动,而不是在用户登录时启动。可以使用:loginctl enable-linger <my-lxc-user>从根帐户启用挥之不去。

我将服务文件保存到.config/systemd/user/lxc@.service,并使用systemctl --user enable lxc@my-container-name.service启用它。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/684209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档