設定 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。如果您正在使用其他用戶,則可以變更此值。此外,您需要重新啟動容器才能使變更生效。

相關內容