- PVSM.RU - https://www.pvsm.ru -

Высокоуровневые API для Linux-контейнеров

Высокоуровневые API для Linux контейнеров
Компания DotCloud разработала и выложила в открытый доступ систему Docker [1] — высокоуровневые интерфейсы для доступа к Linux-контейнерам (LXC). Это идеальный инструмент для работы с контейнерами на любом сервере x64, для развёртывания крупномасштабных веб-инсталляций, кластеров БД, частных PaaS и т.д.

LXC [2] — система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров Linux на одном компьютере. LXC не использует виртуальные машины, а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком. Все экземпляры LXC используют один экземпляр ядра ОС.

Ключевые особенности Docker

  • Изоляция файловой системы: каждый контейнер процесса работает полностью отдельной корневой файловой системе
  • Изоляция ресурсов: системные ресурсы, как CPU и память, можно выделять по-разному для каждого контейнера процесса, используя cgroups
  • Сетевая изоляция: каждый контейнер процесса работает в своём собственном пространстве имён, с виртуальным интерфейсом и собственным IP-адресом

  • Копирование при записи: корневые файловые системы создаются путём копирования при записи, что позволяет развёртывать контейнеры исключительно быстро, не используя лишней памяти и места на диске
  • Логгирование: стандартные потоки (stdout/stderr/stdin) каждого контейнера процесса регитсрируются и сохраняются для последующего анализа
  • Менеджмент изменений: внесённые изменения в файловую систему одного контейнера можно применить к новому образу и повторно использовать для других контейнеров. Больше не нужны шаблоны и конфигурация вручную.
  • Интерактивная консоль: Docker может подключить pseudo-tty и стандартный ввод данных для любого контейнера

Docker построен на файловой системе AUFS [3], в которой есть функция копирования при записи, и языке программирования Go [4].

Инструкция по установке Docker под Ubuntu [5]
Инструкция по установке Docker под Windows [6] (нужны Virtualbox, Vagrant и Git, на виртуальную машину ставится Ubuntu)
Код на Github [7]
Документация [8]

Автор: alizar

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/30574

Ссылки в тексте:

[1] Docker: http://docker.io/

[2] LXC: http://lxc.teegra.net/

[3] AUFS: http://aufs.sourceforge.net/aufs.html

[4] Go: http://habrahabr.ru/hub/go/

[5] Инструкция по установке Docker под Ubuntu: http://docker.io/gettingstarted.html

[6] Инструкция по установке Docker под Windows: http://docker.io/documentation/installation/windows.html

[7] Код на Github: https://github.com/dotcloud/docker

[8] Документация: http://docker.io/documentation/concepts/containers.html

[9] Источник: http://habrahabr.ru/post/174499/