Запуск Docker в LXC 2

Это может показаться довольно странным, на первый взгляд, однако, в определенных случаях может быть весьма полезным. Например, в случае если необходимо на тестовом сервере выделить площадку для разработки с возможностью запускать привилегированные контейнеры Docker. В случае, если вся работа происходит на одном сервере, то пользователь получает доступ сразу ко всем контейнерам/образам на сервере, что неправильно с точки зрения безопасности. С другой стороны, такие системы виртуализации, как QEMU/KVM или Xen обладают определенным оверхедом по производительности и сложнее в настройке. LXC, в данном случае, позволяет обойти оба этих недостатка.

Continue reading «Запуск Docker в LXC 2»

LXC за обратным NAT (Reverse NAT). Пошаговая инструкция.

В связи с исчерпанием доступных ipv4 адресов все более актуальной становится тема размещения виртуальных машин за NAT. Таким образом можно добиться сразу нескольких преимуществ:
1. Экономия средств за счет использования только одного публичного адреса для множества машин;
2. Сокрытие внутреннего устройства публично доступных сервисов (т. е. ваша инфраструктура будет невидима для мира).
Однако, как и у любой технологии, у данного метода есть недостатки.
Continue reading «LXC за обратным NAT (Reverse NAT). Пошаговая инструкция.»

Docker. Немного теории и практики.

В последнее время набирает обороты использование контейнерной виртуализации для изоляции приложений. Зачем это нужно? Во-первых — безопасность. Приложение не может получить доступ к системе за пределы выделенного контейнера. Во-вторых — управление зависимостями. Все необходимые библиотеки устанавливаются в контейнер, а не на хост-систему и версии данных библиотек могут быть любыми, а не только теми, что доступны в хост-системе. В-третьих управление доступом к файловым системам и не только. Раздел или каталог могут быть примонтированы к разным контейнерам с разными опциями (например, каталог, в который пользователи сайта загружают файлы имеет смысл монтировать с опцией noexec, для того, чтобы из него было невозможно запустить исполняемые файлы).

Дальше всех в данном вопросе продвинулся инструментарий Docker. Попробуем в нем немного разобраться для того, чтобы вывести возможные области применения.
Continue reading «Docker. Немного теории и практики.»