Лекция 3. Контейнерная виртуализация
Описание файла
PDF-файл из архива "Лекция 3. Контейнерная виртуализация", который расположен в категории "". Всё это находится в предмете "облачные вычисления и виртуализация (vcc)" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Контейнерная ВиртуализацияАнтоненко ВиталийВиртуализация и Облачные Вычисления, Лекция поКонтейнерамИстория DOCKER ……• A dotCloud (PAAS provider) project• Первый коммит January 18, 2013• Docker 0.1.0 March 25, 2013• 18,600+ github stars, 3800+ forks,740 Contributors….and continuesВиртуализация и Облачные Вычисления, Лекция поКонтейнерамЧто такое Docker?• Докер — это открытая платформа для разработки, доставки иэксплуатации приложений.• отделить ваше приложение от вашей инфраструктуры• позволяет запускать практически любое приложение,безопасно изолированное в контейнереВиртуализация и Облачные Вычисления, Лекция поКонтейнерамКогда Docker полезен?• упаковывание приложения (и так же используемых компонент)в docker контейнеры;• раздача и доставка этих контейнеров вашим командам дляразработки и тестирования;• размещение контейнеров на серверах, как в дата центры так и воблака.Виртуализация и Облачные Вычисления, Лекция поКонтейнерамВиртуализация и Облачные Вычисления, Лекция поКонтейнерамВиртуализация и Облачные Вычисления, Лекция поКонтейнерамВиртуализация и Облачные Вычисления, Лекция поКонтейнерамВиртуализация и Облачные Вычисления, Лекция поКонтейнерамКонтейнеры до DockerВиртуализация и Облачные Вычисления, Лекция поКонтейнерамКонтейнеры после Docker ….Виртуализация и Облачные Вычисления, Лекция поКонтейнерамИз чего состоит Docker?• Docker: платформа виртуализации с открытым кодом;• Docker Hub: платформа-как-сервис для распространения иуправления docker контейнерами.Виртуализация и Облачные Вычисления, Лекция поКонтейнерамАрхитектура DockerВиртуализация и Облачные Вычисления, Лекция поКонтейнерамВнутри docker-а• образы (images)• реестр (registries)• контейнерыВиртуализация и Облачные Вычисления, Лекция поКонтейнерамКак работает Docker?• Каждый образ состоит из набора уровней.• Docker использует union file system для сочетания этих уровнейв один образ.• В основе каждого образа находится базовый образ.• использовать образы как базу для создания новых образов.Виртуализация и Облачные Вычисления, Лекция поКонтейнерамКак создать Docker образ?• запуск команды• добавление файла или директории• создание переменной окружения• указания что запускать, когда запускается контейнер этогообраза• инструкции хранятся в файле Dockerfile.
Docker считываетэто Dockerfile выполняет эти инструкции, и возвращаетконечный образ.Виртуализация и Облачные Вычисления, Лекция поКонтейнерамКак создать Docker образ? (2)Interactive buildingBase Image (Disk)Building from a Docker FileBase Image (Disk)LoadRunRun theInstallationprocedureContainer (Memory)DockerfileBuildCommitNew Image (Disk)New Image (Disk)Виртуализация и Облачные Вычисления, Лекция поКонтейнерамInstallationscriptКак работает контейнер?• состоит из операционной системы, пользовательских файлов иметаданных.• Docker образ доступен только для чтения.• Когда docker запускает контейнер, он создает уровень длячтения/записи сверху образаВиртуализация и Облачные Вычисления, Лекция поКонтейнерамКак запустить простой контейнер?• $ sudo docker run -i -t ubuntu /bin/bashВиртуализация и Облачные Вычисления, Лекция поКонтейнерамDocker Workflow• скачивает образ• создает контейнер• инициализирует файловую систему и монтирует read-onlyуровень• инициализирует сеть/мост• Установка IP адреса• Запускает указанный процесс• Обрабатывает и выдает вывод вашего приложенияВиртуализация и Облачные Вычисления, Лекция поКонтейнерамКак он это делает?• Пространство имен (namespaces)• Control groups (контрольные группы)• Union File SystemВиртуализация и Облачные Вычисления, Лекция поКонтейнерамПространство имен(namespaces)• pid: для изоляции процесса;• net: для управления сетевыми интерфейсами;• ipc: для управления IPC ресурсами.
(ICP: InterProccessCommunication);• mnt: для управления точками монтирования;• utc: для изолирования ядра и контроля генерации версий(UTC:Unix timesharing system).Виртуализация и Облачные Вычисления, Лекция поКонтейнерамВыводы• Стейтлес• Чистый (pure)• Ленивый• Декларативный• Функциональный• СтрогийВиртуализация и Облачные Вычисления, Лекция поКонтейнерамСпасибо за внимание!Вопросы?anvial@lvk.cs.msu.suАнтоненко ВиталийВиртуализация и Облачные Вычисления, Лекция поКонтейнерам.