Представлен (http://blog.docker.com/2015/02/docker-1-5-ipv6-support-read-.../) релиз инструментария для управления изолированными Linux-контейнерами Docker 1.5 (http://www.docker.com/), предоставляющего высокоуровневый API для манипуляции контейнерами на уровне изоляции отдельных приложений. В частности, Docker позволяет не заботясь о формировании начинки контейнера запускать произвольные процессы в режиме изоляции и затем переносить и клонировать сформированные для данных процессов контейнеры на другие серверы, беря на себя всю работу по созданию, обслуживанию и сопровождению контейнеров. Код Docker написан на языке Go и распространяется (https://github.com/dotcloud/docker/) под лицензией Apache 2.0.Инструментарий базируется на применении встроенных в ядро Linux штатных механизмов изоляции на основе пространств имён (namespaces) и групп управления (cgroups). Для создания контейнеров предлагается использовать libcontainer (обёртка над namespaces и cgroups), также возможно применение lxc (http://lxc.sourceforge.net/), libvirt, systemd-nspawn и других систем изоляции. Для формирования контейнера достаточно загрузить базовый образ окружения (docker pull base), после чего можно запускать в изолированных окружениях произвольные приложения (например, для запуска bash можно выполнить "docker run -i -t base /bin/bash").
Из добавленных в Docker 1.5 новшеств (https://github.com/docker/docker/blob/master/CHANGELOG.md) можно отметить:
- В демоне Docker обеспечена (http://docs.docker.com/v1.5/articles/networking/#ipv6) полная поддержка IPv6. Для назначения IPv6-адресов контейнерам добавлены новые флаги "--ipv6" и "--fixed-cidr-v6". В контейнерах обеспечена возможность резолвинга IPv6-адресов и установки сетевого моста к шлюзу fe80::1/64;
- Возможность запуска контейнера с монтированием корневой файловой системы в режиме только для чтения, что позволяет ограничить область записи данных специальными разделами или недопустить изменение изначально предлагаемого набора данных. Для активации режима представлен флаг "--read-only".- Возможность наблюдения за изменением показателей работы контейнера в стиле утилиты top. Режим включается командой "docker stats" и позволяет наблюдать за такими характеристиками контейнеров, как загрузка процессора, интенсивность ввода/вывода, размер сетевого трафика и потребление памяти.
<center><a href="http://blog.docker.com/media/Screen-Shot-2015-02-10-at-12.02... src="http://www.opennet.me/opennews/pics_base/0_1423642945.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Возможность размещения сборочного сценария в файле с произвольным именем, отличающимся от имени по умолчанию (Dockerfile), что позволяет определить несколько альтернативных сборочных файлов для одного проекта (например, один для тестирования, другой для создания рабочего окружения). Определить файл, используемый для сборки, можно через опцию "docker build -f".- Опубликован (https://github.com/docker/docker/blob/master/image/spec/v1.md) первая версия спецификации, определяющей формат и конфигурацию образов файловой системы для контейнеров Docker.
URL: http://blog.docker.com/2015/02/docker-1-5-ipv6-support-read-.../
Новость: http://www.opennet.me/opennews/art.shtml?num=41656
Как на убунту поставить?
https://docs.docker.com/installation/ubuntulinux/
Docker не только инструмент для создания "облачных" решений. Но и просто удобная система управления LXC. Т.е его можно использовать для запуска не доверенных приложений с минимальными геморром и накладными расходами.
И доверенных тоже. Например, при конфликтах зависимостей, или просто чтобы не замусоривать основную систему.
> И доверенных тоже. Например, при конфликтах зависимостей, или просто чтобы не замусоривать основную систему.Это вообще главная идея нынешних гномерастов. Каждому приложению - свой контейнер.
Можно какую-нибудь ссылку по поводу "запуска ** с минимальными геммором и накладными расходами"?
Например вот:
http://mrdeveloper.ru/post-43/how-to-launch-gui-app-in-docker
А, в этом смысле. Я почему-то (зря) подумал что речь о каком-то нестандартном способе запуска.
Спасибо.Кстати, небольшое замечание: в предложенном варианте, если я правильно понял, workbench будет иметь доступ до X-сессии. Т.е. приложение будет видеть всё что набирается на клавиатуре, даже не в своём окне (см. команду `xev`), видеть всё что графически отображается в этой же X-сессии, иметь доступ до d-bus и т.д.
То есть, под стандартным полусекьюрным использованием докера для графики я бы имел в виду VNC, xephyr или что-то такое.
Впрочем, для реально секьюрных вещей я бы докер вообще не рекомендовал, но это уже совсем другая история, и я уже писал личные взгляды на это в опеннете..
> Docker не только инструмент для создания "облачных" решений. Но и просто удобная
> система управления LXC. Т.е его можно использовать для запуска не доверенных
> приложений с минимальными геморром и накладными расходами.
> LXC
> не доверенных/0
LXC (и решения на его основе) хороши для управления ресурсами, быстрого развертывания, удобного клонирования, заморозки и т.д. Использовать _это_ для защиты - все равно что прикрываться от пуль сковородкой.
Красота! Пойду тестировать.
disk i/o не вижу на картинке ))
Чтобы работал учет потребления какого-либо ресурса, должен быть загружен его cgroups-контроллер.
Будет зачётно, когда firefox в докере можно будет запускать без лишних манипуляций.
Можно и в докере запускать, но есть большое НО: пока вы используете иксы, этому фаерфоксу один фиг будет доступно любое окно вместе с событиями нажатия клавиш.
> Можно и в докере запускать, но есть большое НО: пока вы используете
> иксы, этому фаерфоксу один фиг будет доступно любое окно вместе с
> событиями нажатия клавиш.т.е. полной изоляции можно пока добиться для консольных приложений, но когда это некритично - терпимо.
Графические контейнеры - это еще слишком экспериментально.
Ну вы можете делать что-то типа VNC:
http://stackoverflow.com/questions/16296753/can-you-run-gui-...
Тогда доступа до X-сессии нету.(Я всё равно не рекомендую доверять докеру в плане секьюрности, но упомянуть подход VNC стоит.)
> т.е. полной изоляции можно пока добиться для консольных приложенийРутковская в Qubes OS добилась полной изоляции и для графических приложений.
[x] Я элита и юзаю ванильный lxc.
> [x] Я элита и юзаю ванильный lxc.На элитной убунте?
На элитном локалхосте же.А там не только элитная убунта может быть, но и супермегаэлитный арч.
Systemd? Не нужно!
Сорцы на их сайте не нашёл.
Внизу ссылка на гитхаб. Рядом с ссылками на реддит, твиттер и т.д.
Он на Go написан, ничего интересного.
не нужно
Одминам локлхоста вобще многое не нужно
> Одминам локлхоста вобще многое не нужноИм вообще винды достаточно, причем без обновлений и антивирусов.
Интересно, а каковы будут накладные расходы если все приложения, в каком-нибудь дистрибутиве, оформить в виде docker-контейнеров...