Докер
- Собственная система.
- Возродился из-за увеличения виртуализации.
- Docker — это система программных контейнеров с открытым исходным кодом.
- Docker — это платформа с открытым исходным кодом для разработчиков и системных администраторов, позволяющая создавать, поставлять и запускать распределенные приложения на основе контейнеров Linux.
- Хост, среда выполнения, код, ОС, инструменты, библиотеки и другие компоненты находятся в изолированной среде.
- Все самодостаточно.
- Практика использования VM отличается от используемой здесь, потому что здесь больше беспокоит ОС.
- Этот контейнерный движок использует функции ядра Linux, такие как пространства имен и группы управления, для создания контейнера поверх ОС.
- Обеспечивает легкую среду.
- Никаких зависимостей, библиотек и накладных расходов на пакеты.
Возможности Docker: –
- изолированная, быстрая структура.
- решение с открытым исходным кодом.
- кросс-облачная инфраструктура.
- умеренные накладные расходы ЦП/памяти при использовании.
- быстрая перезагрузка.
Компоненты Docker. (5)
1) Демон Docker
- работает на хост-машине.
- фоновая служба.
- пользователь не может напрямую взаимодействовать.
- нуждается в докер-клиенте для взаимодействия.
- управляет сборкой, запуском и распространением образов Docker.
- обрабатывать клиентские команды.
2) Докет-клиент
- основной пользовательский интерфейс к докеру.
- обрабатывает команды и обменивается данными между демоном Docker и пользователем.
- считаются чертежами приложения.
- главный фактор в создании контейнера.
- может быть GUI в виде Kitematic.
- процесс CMD взаимодействует с демоном.
3) Изображения в папке
- готовые шаблоны, помогающие запускать Docker Containers.
- могут быть созданы самими пользователями и развернуты на AWS.
4) Реестры Docker (каталоги)
- Он содержит образы Docker.
- могут быть частные или государственные магазины.
- Docker Hub — это публичный магазин.
- Docker Hub имеет предварительно загруженные платформы изображений (например, Apache, python), которые мы можем скачать напрямую и использовать.
5) Контейнеры Docker
- Каждый док-контейнер представляет собой изолированную и защищенную платформу приложений, в которой содержится все.
- может выполнять операции запуска, остановки, переноса и удаления в контейнере Docker.
- Образы Docker создают контейнеры.
- в основном запустить приложение.
Различие изображений :-
1. Основные изображения –
— не имеют родительских изображений.
— с такими ОС, как ubuntu, busybox или debian.
2. Дочерние изображения –
— построен поверх базовых изображений.
— добавить дополнительный функционал.
А. Официальные изображения –
— Официально поддерживается людьми из Docker.
— Имена состоят из одного слова (обычно).
например:- python, busybox и hello-world
B. Пользовательские изображения –
— Создано и распространено обычными пользователями.
например: – Дочерние изображения
— находится в «user/image-name».
Общий доступ к ОС — это отдельная концепция, отличная от ОС и контейнеров.
- Гипервизоры, менеджеры ВМ имеют множество системных требований.
- Контейнеры не сильно нагружают системные ресурсы, поскольку используют Shared OS.
- Docker сокращает жизненный цикл разработки.
- Docker разделяет ядро Linux, все упаковщики внутри каждого контейнера.
- Память, ввод-вывод, управление изображениями эффективны.
- ВМ выполняет макрооперации.
- Безопасность слабее, чем у ВМ в Docker.
Контейнерные технологии, такие как Docker и LXC (контейнеры Linux), заменяют Share OS.
Подъем микросервисов,
- Микросервисы — это небольшие быстрые программные приложения, работающие в автономных модулях.
- Микросервисы строятся вокруг продуктов, а не проектов.
Необходимые CMD при использовании Docker: -
$ докер запускает привет-мир
:: Создает контейнер и запускает официальное изображение hello-world.
$ docker вытащить busybox
:: Извлекает образ busybox из реестра Docker.
$ образы докеров
:: Список всех изображений.
$ docker запустить busybox
OR
$ docker run busybox echo «привет от busybox»
:: Может добавлять команды впоследствии.
$ докер пс
:: Перечисляет все контейнеры, которые в настоящее время ВЫПОЛНЯЮТСЯ.
$ докер пс -а
:: Перечисляет все контейнеры, которые мы RAN.
$ docker run -it busybox sh
:: Прикрепляет нас к интерактивному tty в контейнере.
$ выход
ENTER затем, чтобы выйти из режима Docker.
$ докер запустить — помощь
:: Просить помощи.
$ докер рм
:: Удаляет изображения, контейнеры.
$ докер rm 30529832a343 ff342fefw
:: Удаляет изображение с указанным выше идентификатором ИЗОБРАЖЕНИЯ.
:: Идентификатор возвращается на вывод CMD.
$ docker rm $(docker ps -a -q -f статус=выход)
:: Флаг -q возвращает только числовые идентификаторы.
:: -f фильтрует вывод на основе вышеуказанного условия.
Статус ВЫХОД.
— rm :: удаляет все закрытые контейнеры.
$ докер рми
:: Удаляет изображения.
$ образы докеров
:: Перечисляет доступные изображения локально.
:: Включает по умолчанию (hello-world) и создает.
:: Имеет TAG и IMAGE ID — Уникальный идентификатор изображения.
:: Изображения можно зафиксировать/вытащить на github.
$ докер вытащить убунту: 12.04
:: Новые образы Docker можно найти в реестре (Docker Hub) или создать самостоятельно.
$ поиск в докере
:: ищет определенный разделитель в Docker Source.