Как я могу разделить папку между хост-системой (Ubuntu 14.04) и контейнером Ubuntu LXC?
Я попытался смонтировать папку на хосте:
sudo mount --bind /media/data/share /media/data/container/name/rootfs/share
но я не вижу никаких файлов.
То же самое касается:
sudo ln -s /media/data/share /media/data/container/name/rootfs/share
Нужно ли менять разрешения для папки общего доступа?
mount
virtualization
symbolic-link
lxc
Максимум
источник
источник
lxd
), который используется в этом ответе, или на LXC (программное обеспечение и «старый» набор инструментов сlxc-*
именованными инструментами) или на проект (где LXC это сокращение от LinuX Containers). Вот почему я задал этот вопрос в мета-версии Unix.SE.Я нашел статью в вики openSUSE: https://en.opensuse.org/User:Tsu2/LXC_mount_shared_directory
Я следовал за шагами, и теперь это работает.
Создать каталог хоста:
Создайте каталог в контейнере lxc:
Отредактируйте файл конфигурации lxc на хосте:
источник
share
вlxc.mount.entry
является критическим.Ниже описано, что я сделал, чтобы смонтировать один из моих хост-каталогов в контейнер. Это сложнее, чем кажется, потому что мы хотели бы достичь
После прочтения различных статей в Интернете (наиболее полезной является проблема github ), вот как я это решаю. Хитрость заключается в том, чтобы сопоставить uid и gid пользователя хоста с uid и gid пользователя внутри контейнера.
Предположим, я собираюсь смонтировать
/home/breakds/projects
в том же месте в контейнере. Внешний каталог принадлежит пользователюbreakds
, чей uid и gid1000
.Затем я создал пользователя в контейнере с именем
debian
uid и gid, который1000
также был (поскольку это первый пользователь без полномочий root). Затем я создам (lxc) profie на хостеИ ниже содержание профиля (я полагаю, что это в формате yaml):
Затем примените этот профиль к этому контейнеру навсегда:
Это должно сделать свое дело.
ПРИМЕЧАНИЕ . Обратите внимание, что перед переключением на этот профиль убедитесь, что все директории или файлы, владельцем / группой которых является debian, должны быть удалены (и, вероятно, созданы заново после переключения). Это потому, что после отображения uid и gid их владение станет недействительным. Сначала я думал, что, поскольку я просто отображаю 1000 на 1000, все должно быть хорошо, но я думаю, что что-то здесь упустил, и было бы здорово, если бы кто-то мог посоветовать, как решить эту проблему без взлома.
источник
chown
от хозяина.Вы также можете сделать это без LXD, отредактировав файл конфигурации LXC напрямую:
Вы также должны убедиться, что учетной записи пользователя контейнера предоставлено разрешение на сопоставление с uid / gid 1000 на хосте путем редактирования / etc / subuid и / etc / subgid:
источник