Я пытаюсь разделить базу данных и приложение PHP с помощью LXC.
В настоящее время у меня возникают некоторые проблемы с развертыванием моего кода в одном из контейнеров - я не понимаю, как это должно работать.
Моя текущая настройка - это VPS, к которому DeployHQ подключается через SSH - загружает приложение из GitHub и запускает несколько команд.
Но это решение кажется невозможным с моими контейнерами - поэтому мой вопрос в том, что мне теперь делать?
Я могу получить код на хост-машине - но как мне получить код на мой контейнер, все еще будучи уверенным, что права пользователя для гостя верны?
Самый очевидный способ - заставить LXC вести себя так же, как ваш VPS. Для этого вам может потребоваться настроить правило NAT на хосте, которое перенаправляет внешний порт на порт 22 контейнера LXC.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2022 -j DNAT --to 10.0.3.123:22
(перенаправляет порт 2022 на eth0 в контейнер с IP 10.0.3.123 на своем порту 22).
Альтернативой является сделать это через файловую систему хоста, там у вас есть два решения:
В обоих случаях вам необходимо убедиться, что владение совпадает с правами владения в вашем контейнере, так что вы, вероятно, захотите, чтобы любые обновления по этому пути на хосте делали старый добрый выбор. -R до правильных значений.