LINUX.ORG.RU
ФорумAdmin

Как правильно организовать работу с несколькими окружениями для веб-разработчика?

 , ,


0

2

Добрый день!

Сейчас использую Vagrant + Virtualbox и несколько виртуальных машин для разных проектов. Т.к. во всех ВМ проброшен порт 8080 для связи с ней с хоста, у меня нет возможности держать их запущенными одновременно. Еще не нравится что приходится выделять много памяти для редких скачков потребления во время сборки, хоть и остальное время она висит незанятой, но и не доступна для хоста.

Решил что надо переезжать на контейнеры: под каждый проект я создаю свой LXD контейнер, в нем поднимаю веб-сервер и монтирую каталог с исходниками. А на хосте я ставлю nginx который проксирует запросы к нужному контейнеру.

Но у меня возникла проблема: lxd недоступен в Debian Stretch. Есть вариант установить через snap, но он тоже сломан.

Есть идея поднять в KVM какую-нибудь Ubuntu Server и уже в ней хостить контейнеры, но проблема с пиковым потреблением памяти остается. Да и не понятно как в этом случае «прокидывать» исходники в контейнер.

Какие у меня еще есть варианты?

★★

Последнее исправление: shooter93 (всего исправлений: 2)

Какие у меня еще есть варианты?

Изкоробочный systemd-nspawn

bass ★★★★★
()

Docker или lxc, если уж lxd не доступен

Т.к. во всех ВМ проброшен порт 8080 для связи с ней с хоста, у меня нет возможности держать их запущенными одновременно.

Пробрасывай каждому 80*, в чем проблема?

gwinn ★★★★
()
Ответ на: комментарий от redgremlin

Выглядит интересно, но у меня не получается корректно Ubuntu там запустить, куча ошибкок вида:

Aug 09 22:40:19 host systemd-tmpfiles[40]: chown(/var/lib/systemd) failed: Operation not permitted
Aug 09 22:40:19 host systemd-tmpfiles[40]: chown(/var/lib/systemd/coredump) failed: Operation not permitted
Aug 09 22:40:19 host systemd-tmpfiles[40]: Failed to create file /var/log/wtmp: Permission denied
Aug 09 22:40:19 host systemd-tmpfiles[40]: Failed to create file /var/log/btmp: Permission denied
Aug 09 22:40:19 host nginx[83]: nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
Aug 09 22:40:19 host nginx[83]: 2017/08/09 22:40:19 [emerg] 83#83: chown("/var/lib/nginx/body", 33) failed (1: Operation not permitted)

Как будто что-то с правами не так, не могу решение нагуглить.

shooter93 ★★
() автор топика

Какие у меня еще есть варианты?

докер, экономишь память, не нужен ssh и у тебя целя виртуальная сеть - не нужно париться из-за занятного порта на хосте

если грамотно организовать контейнеры - то простое обновление и экономия места на диске (один образ + папка на каждый инстанс)

Deleted
()
Ответ на: комментарий от redgremlin

Это я уже из под machinectl стартую, там ключи примерно такие:

systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest -U --settings=override --machine=ubuntu

Если -U убрать, то работает нормально.

shooter93 ★★
() автор топика
Ответ на: комментарий от shooter93

Проблема решилась сама собой после пересоздания контейнера, видимо я сломал что-то.

shooter93 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.