设置 LXD 容器 raw.idmap 的语法

设置 LXD 容器 raw.idmap 的语法

我正在按照所述步骤在 lxc 容器内安装主机驱动器这里。在那篇文章中,作者设定了原始idmap像这样:

lxc config set zesty raw.idmap 'both 1000 1000'

我想自定义 gid 和 uid 的映射,如lxd idmap 文档. 显示的示例映射如下:

both 1000 1000
uid 50-60 500-510
gid 10000-110000 10000-20000

我正在努力寻找实际设置它的语法,因为第一篇文章中的命令似乎不适用于多行配置,并且我尝试在一行中输入所有内容并使用 JSON,但没有成功,因为容器出现配置错误并且无法启动。

正确的配置方法是什么?

答案1

这个问题已在LXC 用户邮件列表

就像idmapblob 一样,如果要分配多个值,则必须发送多行。示例:

echo -en "both 1003 1003\nboth 1004 1004" | lxc config set mycontainer raw.idmap -

答案2

实现自动化的另一种方法可以如下所述(https://ubuntu.com/blog/custom-user-mappings-in-lxd-containers):

printf "uid $(id -u) 1000\ngid $(id -g) 1000" | lxc config set your_container raw.idmap -
lxc restart your_container

因此它将检索您当前的 UID 和 GID,并将它们映射到容器内的 UID 1000 和 GID 1000。如果您使用其他用户,则可以更改此值。此外,您需要重新启动容器以使更改生效。

相关内容