Я пытаюсь смонтировать папку на хосте в контейнер LXC.
На хосте создана папка /mnt/ssd/solr_data
(в настоящее время она находится в корневой файловой системе, но позже я подключу туда SSD-диск, поэтому я готовлюсь к этому).
Я хочу, чтобы эта папка монтировалась как /data
в контейнере.
Итак, в файле fstab для контейнеров у меня есть следующее:
/mnt/ssd/solr_data /var/lib/lxc/Solr4StandAlone/rootfs/data ext4 defaults,noatime 0 0
Но это не пойдет, я получаю эту ошибку при запуске контейнера:
lxc-start: No such file or directory - failed to mount '/mnt/ssd/solr_data' on '/usr/lib/x86_64-linux-gnu/lxc//data'
lxc-start: failed to setup the mounts for 'Solr4StandAlone'
lxc-start: failed to setup the container
lxc-start: invalid sequence number 1. expected 2
lxc-start: failed to spawn 'Solr4StandAlone'
mount
это относится?mount(8)
Например, я не смог найти опцию, описанную в Ubuntu 14.04.mount(8)
В
/var/lib/lxc/Solr4StandAlone/config
строке добавить:Затем
lxc-stop
остановите свой контейнер иlxc-start
ваш контейнер снова.Это все, что нужно.
ссылка: ссылка ссылка
источник
Мне пришлось создать
/data
папку в локальном контейнере, прежде чем монтирование будет работать правильно.Я также использовал эту запись fstab:
источник
bind
опция mount - это то, чего не хватало в OP. Я считаю, что это самое важное исправление (присутствует также во всех других рабочих ответах).По состоянию на 2015/09/30 изменение, вызванное исправлением безопасности, нарушает монтирование по абсолютному пути с lxc.mount.entry в файле конфигурации.
Вместо этого вы можете использовать относительный путь
Смотрите: https://wiki.debian.org/LXC#Bind_mounts_inside_the_container.
источник
Поскольку LXC со временем изменился, это может быть очень просто, но это меня немного озадачило, поэтому я хотел внести свой вклад. Я также создал суть для этого, чтобы я мог помнить себя, но просто с помощью устройства конфигурации lxc добьется цели.
Примечание. Важно оставить переднюю косую черту вне аргумента пути из-за изменения, упомянутого @biscuitNinja
Монтирование каталогов из контейнера в хост
источник
Если вы используете
libvirt
для создания своегоlxc
контейнера, вы можете сделать каталог на хосте таким,passthrough
как показано здесь:источник