Синтаксис для настройки LXD-контейнера raw.idmap

Синтаксис для настройки LXD-контейнера raw.idmap

Я следую процедуре монтирования хост-диска внутри контейнера lxc, как описаноздесь. В этой статье автор устанавливаетraw.карта_идентификаторовтак:

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:

Как и idmapв случае с blob, если вы хотите присвоить несколько значений, вам придется отправить несколько строк. Пример:

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 внутри контейнера. Вы можете изменить это значение, если используете другого пользователя. Кроме того, вам нужно перезапустить ваш контейнер, чтобы изменения вступили в силу.

Связанный контент