Pull to refresh

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

Go

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

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

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

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



Инструкция по установке Docker под Ubuntu
Инструкция по установке Docker под Windows (нужны Virtualbox, Vagrant и Git, на виртуальную машину ставится Ubuntu)
Код на Github
Документация
Tags:Linux-контейнерLXCкопирование при записиконтейнерфайловая системаизоляция ресурсоввиртуальная машина
Hubs: Go
Total votes 32: ↑28 and ↓4+24
Views22K

Popular right now

Top of the last 24 hours