Комментарии 15
Я правильно понимаю, что эта штука делает примерно то же самое, что и OpenVZ?
+1
Правильно. Мы как-то решали, что использовать — OpenVZ или LXC и выбрали второе, т.к. OpenVZ ну уж очень плохо поддерживался и в дистрибутивах его было почти не найти. Это было около двух лет назад… Теперь намучившись наигравшись с LXC переехали на vmware. Не православно, но уж очень удобно. Смотрю на DOCKER и оно выглядит весьма привлекательным, спасибо за статью!
+2
Почти. В отличии от openvz эту штуку можно использовать для изолирования и контроля отдельных приложений. А не только для изолирования окружения.
+2
По-моему скорее напоминает jail(8) из FreeBSD
0
Судя по всему, это несколько более крутая штука. Скорее напоминает Vagrant для LXC.
Больше бы стоило, наверное, отметить такие фичи:
* можно запустить отдельную команду (
* очень легко создавать новые контейнеры. Можно, например, создать контейнер с результатами работы вышеуказанной команды — выполняется еще быстрее.
* размер контейнера — всего лишь дифф по сравнению с базовым (на самом деле, чуть больше — для результата вышеуказанной команды ~20кб)
* контейнеры можно генерировать и автоматизированно — указываем в Dockerfile базовый образ, какие команды запустить, какие порты высунуть и через несколько секунд получаем готовый образ
* контейнеры можно публиковать
Т.е. контейнеры по сравнению с OpenVZ очень и очень дешевые, да и на порядок удобнее с ними работать.
Сами разработчики Docker позиционируют его как виртуализацию на уровне сервисов, а не на уровне серверов как обычно бывает, и по-моему они в этом преуспели.
На сайте у них есть примеры как упаковать в контейнер, скажем web-приложение, но по идее это же можно делать и, скажем, дженкинсом.
Больше бы стоило, наверное, отметить такие фичи:
* можно запустить отдельную команду (
sh -c "/bin/echo Hello | tee /etc/motd"
) в контейнере — эта выполняется за 0.1сек* очень легко создавать новые контейнеры. Можно, например, создать контейнер с результатами работы вышеуказанной команды — выполняется еще быстрее.
* размер контейнера — всего лишь дифф по сравнению с базовым (на самом деле, чуть больше — для результата вышеуказанной команды ~20кб)
* контейнеры можно генерировать и автоматизированно — указываем в Dockerfile базовый образ, какие команды запустить, какие порты высунуть и через несколько секунд получаем готовый образ
* контейнеры можно публиковать
Т.е. контейнеры по сравнению с OpenVZ очень и очень дешевые, да и на порядок удобнее с ними работать.
Сами разработчики Docker позиционируют его как виртуализацию на уровне сервисов, а не на уровне серверов как обычно бывает, и по-моему они в этом преуспели.
На сайте у них есть примеры как упаковать в контейнер, скажем web-приложение, но по идее это же можно делать и, скажем, дженкинсом.
0
Ровно так же продукты «Параллельса» работают.
-1
мис
-1
Вот бы толковый гайд по LXC в целом для ещё не разбирающихся…
+1
В посредственной документации LXC Ubuntu есть ссылочка How to LXC — this is one of the best documents available. Кратко, но исчерпывающе :) Вплоть до конфигурации ядра для работы с LXC.
0
С docker-ом этот гайд похоже не нужен.
0
Самый главный вопрос, правда ли, что root в LXC (даже с помощью Docker) = root в хостовой системе?
0
Похоже на то:
$ sudo docker run -d busybox sleep 100 WARNING: Docker detected local DNS server on resolv.conf. Using default external servers: [8.8.8.8 8.8.4.4] 987151c1491d $ ps -ef | grep sleep root 25705 932 0 13:06 ? 00:00:00 lxc-start -n 987151c1491d590aef066bf6e4ddc3635e09706a3ebd3bde0f068dd5c7dc4bf8 -f /var/lib/docker/containers/987151c1491d590aef066bf6e4ddc3635e09706a3ebd3bde0f068dd5c7dc4bf8/config.lxc -- /.dockerinit -g 172.17.42.1 -e HOME=/ -e PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -e container=lxc -e HOSTNAME=987151c1491d -- sleep 100 root 25712 25705 0 13:06 ? 00:00:00 sleep 100 timur 25744 19454 0 13:07 pts/3 00:00:00 grep sleep
0
Они говорят, что хотят исправить это в будущем: www.infoq.com/news/2013/09/docker-container-security, blog.docker.io/2013/08/containers-docker-how-secure-are-they/
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Высокоуровневые API для Linux-контейнеров