The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Доступен Docker 1.8. Представлена система для запуска Docker..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Доступен Docker 1.8. Представлена система для запуска Docker..." –2 +/
Сообщение от Аноним (-), 15-Авг-15, 23:35 
> А чем проще начинку контейнера создать без усложнений и запуска лишних демонов?

Debootstrap'ом, если это дебиан-подобные. Ну или как оно там у вас в рхел называется. Если надо "полную систему" и чтобы независимой от хост-системы была. Или просто пнуть программу systemd-nspawn'ом, если полная независимость от окружения хоста не требуется.

> Что бы потом как контейнер c LXC или systemd-nspawn использовать?

Почитать man на системд уже наконец. В man systemd-nspawn показано штук пять вариантов такого плана в конце.

> Вручную не хочется каждый раз ковыряться и обновления накатывать.

Что логично.

> без засовывания вовнутрь полноценного дистрибутива.

Вариантов бывает несколько:
1) Забацать минимальный, урезанный вариант дистра в энной иерархии и запускать в контейнере его /sbin/init (systemd, кстати, умеет иерархическую дружбу systemd между собой). При этом будет независимая копия окружения. А апдейтить - хоть пакетным менеджером, хоть по cron-у (или systemd.timer'у). Рулить .. как копией ОС в VM. Если кто привык вертеть 100 машинами, он в этом месте может считать что машин стало 101.

2) Можно запустить таки только свою программу, в текущем окружении, с степенью заапдейчености равной обновленности текущей системе. Но вот если вы захотите кардинально обрубить из контейнера весь доступ к ФС хоста - вас ждут некие неприятные открытия, сто лет известные тем кто делал chroot. Ну там например когда прога попробует в середине пьесы загрузить shared lib и вдруг ВНЕЗАПНО заметит что этой либы и близко нет. Можно конечно замаунтить часть ФС хоста, но это уже компромисс по уровню изоляции - контейнер будет видеть часть иерархии и сможет ее изучать.

3) Можно сделать ход конем и внаглую запустить копию своей системы которая уже есть в контейнере, ничего никуда не копируя вообще. Вот только будет не очень здорово если два инстанса системы будут на пару использовать одинаковые файлы. В мане системды показали вариант как это разрулить с эфемерным снапшотом btrfs, когда система стартует с той же иерархии, а все отличия от хоста - пишутся в временный снапшот btrfs (который при остановке системы будет снесен). Но я не знаю прокатит ли такой финт ушами в рхел7. При таком финте ушами инстанс системы в хосте и гуесте развязаны друг от друга btrfs - контейнер получит систему в виде "как было на момент старта контейнера". Далее снапшот и мастер-копия живут своими жизнями, потому что CoW и множественный референс блоков (как только блоки станут разными - CoW отличия закопирует).

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Доступен Docker 1.8. Представлена система для запуска Docker..., opennews, 15-Авг-15, 19:23  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру