[#] Контейнер в linux, linux в egg, egg в python
habrabot(difrex,1) — All
2015-04-26 22:30:02


![tux in egg in python][1] Hello, \{\{username\}\} Я DevOps и очень люблю Linux. Понятное дело, что с такой связкой я просто не мог не полюбить LinuX Containers (тем более, что BSD и Solaris давно радуют аналогичными возможностями своих пользователей). Естественно, бизнес тоже увидел привлекательную возможность и программы для управления контейнерами стали расти и множиться: [docker ][2], [rocket][3], [vagga][4], [lxc][5], [systemd-nspawn][6], etc… Docker стал стандартом де-факто в первую очередь благодаря системе создания и доставки контента. Но главный демон докера запускается от root, и, на мой взгляд, это минус этого проекта ([Пруф][7]). Rocket и vagga пошли другим путем, и путь этот носит название unprivileged containers. Вам больше не нужны root привилегии, чтобы запустить процесс в новых namespaces, и это открывает интересные перспективы для построения тестовых площадок и безопасного окружения. Но во всех этих проектах есть один фатальный недостаток: они все написаны с использованием c, go и rust, а я люблю python и не могу поучаствовать в их разработке. Согласитесь, довольно обидно пропускать все веселье. Так что под катом вас ждет библиотека для запуска процессов в новых [linux user namespaces][8]: [Читать дальше →][9]

[1]: http://habrastorage.org/getpro/habr/post_images/1e9/487/009/1e948700995555f0c7512350c77ab485.jpg
[2]: https://github.com/docker/docker
[3]: https://github.com/coreos/rkt
[4]: https://github.com/tailhook/vagga
[5]: https://linuxcontainers.org
[6]: https://wiki.archlinux.org/index.php/Systemd-nspawn
[7]: https://fosterelli.co/privilege-escalation-via-docker.html
[8]: http://man7.org/linux/man-pages/man7/user_namespaces.7.html
[9]: http://habrahabr.ru/post/256647/#habracut