Доступен (http://blog.docker.com/2014/07/announcing-docker-1-1/) второй стабильный релиз инструментария для управления изолированными Linux-контейнерами Docker, предоставляющего высокоуровневый 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.1 можно отметить:
- Поддержка файлов .dockerignore (https://github.com/dotcloud/docker/blob/master/.dockerignore), в которых может быть определён список файлов и директорий, игнорируемых в процессе сборки контейнера;
- Обеспечена приостановка работы контейнера на время выполнения коммита, что позволяет защититься от возможного нарушения целостности файлов. Отключить приостановку можно при помощи опции "--pause=false", например "docker commit --pause=false container_id";
- Возможность просмотра хвоста лога контейнера, например, для просмотра последних 10 записей можно выполнить команду "docker logs --tail 10 container_id". Также возможно отслеживание новых элементов через указание флага "-f" по аналогии с утилитой tail;
- Возможность передачи tar-файла в качестве готового контекста при выполнении команды "docker build", что может использоваться для автоматизации формирования сборок, например: "cat context.tar | docker build - or docker run builder_image | docker build -";
- Поддержка монтирования с опцией "--bind" целиком всей файловой системы для контейнера. Ранее корневая ФС не могла быть указана в опции "--volumes", теперь при помощи "docker run -v /:/my_host ubuntu:ro ls /my_host" можно запускать команду в контейнере, построенном поверх текущей ФС;
- Увеличена производительность работы в конфигурациях с большим числом образов и контейнеров. Сокращено время запуска управляющего фонового процесса.
URL: http://blog.docker.com/2014/07/announcing-docker-1-1/
Новость: http://www.opennet.me/opennews/art.shtml?num=40135
> например, для запуска bash можно выполнить "docker run -i -t base /bin/bash"На FreeBSD:
jail /here/is/the/jail testhostname 192.168.11.100 /bin/sh
> jail /here/is/the/jail testhostname 192.168.11.100 /bin/shТолько оно в плане изоляции, дележки ресурсов и возможностей руления как отдельной независимой копией системы - отcacывает.
>> jail /here/is/the/jail testhostname 192.168.11.100 /bin/sh
> Только оно в плане изоляции, дележки ресурсов и возможностей руления как отдельной независимой копией системы - отcacывает.Странно, но man rctl говорит об обратном.
>>> jail /here/is/the/jail testhostname 192.168.11.100 /bin/sh
>> Только оно в плане изоляции, дележки ресурсов и возможностей руления как отдельной независимой копией системы - отcacывает.
> Странно, но man rctl говорит об обратном.Если ваше ядро имеет поддержку RACCT/RCTL, вы можете устанавливать лимиты, описанные в rctl(8) на клетки и смотреть текущую статистику по потребляемым ресурсам jail.
В стандартом ядре не доступно. freebsd-update не поможет.
> Если ваше ядро имеет поддержку RACCT/RCTL, вы можете устанавливать лимиты, описанные в
> rctl(8) на клетки и смотреть текущую статистику по потребляемым ресурсам jail.
> В стандартом ядре не доступно. freebsd-update не поможет.А кто запретит собрать ядро с опциями:
options RACCT
options RCTLСтоллман?
>> Если ваше ядро имеет поддержку RACCT/RCTL, вы можете устанавливать лимиты, описанные в
>> rctl(8) на клетки и смотреть текущую статистику по потребляемым ресурсам jail.
>> В стандартом ядре не доступно. freebsd-update не поможет.
> А кто запретит собрать ядро с опциями:
> options RACCT
> options RCTL
> Столлман?может вы подарите моему хостеру ip-kvm или хотя бы IPMI ?
Перегружать невозможно, хостер принимает запросы 4 дня в неделю.
А сменить хостера не желаете ?
Кроме тормознутости саппорта в остальном очень годно и дешево за выделенные сервера и гиговые коннекты.
> А сменить хостера не желаете ?Вообще-то если сервер надо перегружать 4 раза в неделю - надо систему менять. Зачем вам win95 на сервере?
FreeBSD уже 7й год не перегружаю
> FreeBSD уже 7й год не перегружаюЗначит настала пора вытряхнуть оттуда зоопарк троянов и руткитов, наконец.
Для пересборки мира не обязательно сингл мод.
Используя определенный набор команд, можно в два ребута обновить мир.
Проблем с миграции с 8.x -> 9.x и 9.x ->10.x нет.
> Для пересборки мира не обязательно сингл мод.Это да.
> Используя определенный набор команд, можно в два ребута обновить мир.
Давно уже одним ребутом обхожусь.
> Странно, но man rctl говорит об обратном.А о том, что это экспериментальная фича, толком еще не отлаженная (уже пару лет как), он не говорит? А зря.
> На FreeBSD:
> jail /here/is/the/jail testhostname 192.168.11.100 /bin/shТолько перед этим нужно потратить кучу времени на создание /here/is/the/jail, а потом мучиться с обновлением. Когда контейнер 1 на тестовой машине можно и поиграть, но когда их сотни и их нельзя останавливать.......
Главная фишка docker не изоляция, он для этого может использовать разные механизмы, хоть chroot, а создание начинки контейнера для запуска определённого приложения и обеспечение сопровождения этой начинки.
>> На FreeBSD:
>> jail /here/is/the/jail testhostname 192.168.11.100 /bin/sh
> Только перед этим нужно потратить кучу времени на создание /here/is/the/jail, а потом
> мучиться с обновлением. Когда контейнер 1 на тестовой машине можно и
> поиграть, но когда их сотни и их нельзя останавливать.......Мсе, делается скрипт, которые за минуты соберет клетку и запустит ее не хуже докера. А можно еще круче: работает одна базовая клетка со всем софтом, поэтому когда нужно поднять новое изолированное приложение, то за менее минуты поднимается готовый контейнер с базовым софтом со всеми настройками и т.д.
> Мсе, делается скрипт, которые за минуты соберет клетку и запустит ееТю, это недостаточно хардкорно. Сначала надо сбегать за песком, прогнать цикл очистки, сделать монокристалл. Потом надо распилить его на пластины. Потом надо задизайнить свои чипы. Сделать маску для фотолитографии. И нашлепать своих чипов. Делов то на каких-нибудь пять лет всего, если группу по интересам побольше собрать. А то как-то неспортивно это - брать готовые процессоры. Или готового докера. Можно ведь все сделать самому...
https://speakerdeck.com/kazuyoshi/porting-docker-to-freebsd ждите ;)
Версия 1.0 имела проблемы с работой некоторых GUI приложений с использованием subuser (похоже где-то в части межпроцессного взаимодействия), надо будет глянуть, может что поменялось. Мог бы получится хороший вариант организации фильтрации сетевых пакетов для отдельных клиентских приложений.
> Мог бы получится хороший вариант организации фильтрации сетевых пакетов для отдельных клиентских приложений.Для этого можно поставить свежий iptables со свежим ядром, там недавно добавили возможности отлавливать пакеты по cgroup процесса. Можно юзать с докером, можно - без.
> А кто запретит собрать ядро с опциями:здравый смысл и не желание тратить время в пустую ;)
>> А кто запретит собрать ядро с опциями:
> здравый смысл и не желание тратить время в пустую ;)Ох уж эти виндyзятники...
>> А кто запретит собрать ядро с опциями:
> здравый смысл и не желание тратить время в пустую ;)10-15 минут на пересборку ядра хостовой машины — это ваша цена "здравого смысла"?
> 10-15 минут на пересборку ядра хостовой машины — это ваша цена "здравого смысла"?а теперь умножаем это хотя бы на 100 и цифра получается уже не такая радостная. А если это крупный хостер, у которого 10k/100к. Если ты конечно только localhost админишь, то не вопрос. Возможно тебя и устроит.
> Ох уж эти виндyзятники...
ох уж эти гентушники, фрибздшники ...
смарощики ?
>а теперь умножаем это хотя бы на 100 и цифра получается уже не такая радостная. А если это крупный хостер, у которого 10k/100к.Религия запретит раздать ядро другим машинам.
> Религия запретит раздать ядро другим машинам.а среди 100к машин будет ведь 10k разных ядер ;) В общем нечего делать freebsd на просторах систем виртуализации. Про jail лучше даже не заикаться.