Найти в Дзене
Последователи Bitrix

Как смонтировать локальную директорию внутрь контейнера LXD c «1С-Битрикс: Веб-окружение»

Если надоело для каждого проекта настраивать в PhpStorm синхронизацию файлов по ssh или ftp и т.п. и хочется работать нормально - как с полноценным локальным проектом в IDE

Чтобы пробросить папку в контейнер необходимо выполнить следующие команды в консоли

mkdir ~/ext_www_lxd/
chmod 7777 ~/ext_www_lxd/
lxc config set centos-bitrix security.privileged true
lxc config device add centos-bitrix siteBitrixExtWww disk source=/home/$USER/ext_www_lxd/ path=/home/bitrix/ext_www

где centos-bitrix - название контейнера.

Лучше делать до создания дополнительных сайтов в 1С-Битрикс: Веб-окружение (т. к. существущие файлы и папки в /home/bitrix/ext_www исчезнут).

После выполнения команды перезапустить контейнер.

Такие пробрасываемые папки при этом не будут включены в образ при создании образов контейнера, бекапов LXD и т. п.

Так же есть одно неудобство - после изменения файлов из контейнера (например при установке решения bitrix) могут поменяться права и файлы станут не доступны для изменения локально - в каждом таком случае необходимо в консоли выполнить

sudo chmod -R 0777 ~/ext_www_lxd/opa.govnosite.dev/

Еще пример для версии php 5.6

mkdir ~/ext_www_lxd56/
chmod 7777 ~/ext_www_lxd56/
lxc config set centos-bitrix-56 security.privileged true
lxc config device add centos-bitrix-56 siteBitrixExtWww56 disk source=/home/$USER/ext_www_lxd56/ path=/home/bitrix/ext_www

Таким образом можно создать пару контейнеров для версии 7.1 и 5.6 и разрабатывать/тестировать сайты под разные версии на стандартном окружении bitrix и использовать в PhpStorm как локальные проекты.