Docker Theory Flashcards

Основные компоненты, внутреннее устройство

1
Q

Что такое Docker?

A

Docker — открытая платформа для разработки, доставки и запуска приложений. Docker позволяет отделить приложение от инфраструктуры

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое Docker Engine?

A

Docker Engine — это технология контейнеризации с открытым исходным кодом для создания и контейнеризации приложений

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое Docker Image?

A

Image (образ) — read-only шаблон на основе которого создаются контейнеры. Содержит исходный код, библиотеки, зависимости и инструменты для запуска приложений

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое Docker Container?

A

Исполняемый экземпляр образа. Изолированный и портативный пакет ПО, который включает в себя всё необходимое для запуска приложения

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что такое контейнеризация?

A

Способ упаковки приложения и всех зависимостей в один образ, который запускается в изолированной среде

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Из каких частей состоит Image (образ)?

A

Metadata (информация о запуске контйнера) и слои

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

В каких состояниях может находиться Docker контейнер

A
  • created (созданный)
  • running (запущенный)
  • paused (приостановленный)
  • exited (завершил процессы)
  • removing (в состоянии удаления)
  • restarting (перезапуск)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Варианты хранения информации в Docker

A
  • Image Layers (директории и файлы, состовляющие слои образа)
  • Writable layer (слой, на который по умолчанию записываются изменения, вносящиеся в контейнер)
  • Container Metadata (логи, файлы конфигурации)
  • In-Memory (хранение в оперативной памяти)
  • Bind-Mount (предоставление контейнеру файлов с host OS)
  • Volumes (том, часто изменяемые файлы и файлы БД)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Виды связей между Docker контейнерами

A
  • Bridge (используется по-умолчанию. контейнеры разбиваются на группы, где каждая группа подключается к своему драйверу. контейнеры взаимодействуют друг с другом в рамках одной подсети)
  • Host (все контейнеры будут подключены к интерфейсу хоста. удаляется изоляция между контейнерами)
  • None (контейнер полностью изолируется)
  • Overlay (для взимодействия контейнеров на разных хост-машинах)
  • MACVLAN (прямое подключение к физической сети. назначает mac-адрес виртуальному сетевому интерфейсу каждого контейнера)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Top-level элементы файла Docker Compose

A
  • version & name (имя и версия)
  • services (контейнеры)
  • networs (связи)
  • volumes (тома)
  • configs (дополнительный настройи)
  • secrets (засекреченные данные, такие как пароли)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Что такое Docker Compose?

A

Docker Compose — декларативный инструмент для запуска многоконтейнерных приложений. Файл docker-compose.yml — это файл YAML, который определяет, как контейнеры Docker должны вести себя в рабочей среде.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

В каких средах могут работать контейнеры Docker?

A

Во всех основных дистрибутивах Linux, Microsoft Windows и в любой инфраструктуре, включая виртуальные машины, на физическом сервере и в облаке.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Каковы варианты использования Docker?

A
  • Контейнеризация традиционных приложений
  • Непрерывная интеграция и развертывание
  • Микросервисы
  • Оптимизация ИТ-инфраструктуры (уменьшение размера инфраструктуры, снижение эксплуатационых расходов на поддержку дополнительных ОС, улучшение использования ресурсов)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Как в принципе работают контейнеры?

A

Контейнеры могут совместно использовать одно ядро, и единственная информация, которая должна быть в образе контейнера, — это исполняемый файл и его зависимости пакетов, которые никогда не нужно устанавливать на хост-системе. Эти процессы работают как собственные процессы, и вы можете управлять ими по отдельности.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что такое Dockerfile?

A

Dockerfile — файл, в котором описаны инструкции по сборке образа. Определяет, что происходит внутри контейнера, определяет сетевые интерфейсы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

ENTRYPOINT против CMD в Dockerfile?

A

ENTRYPOINT не может быть перезаписан, дополнительные команды, переданные при запуске контейнера, будут добавлены к команде ENTRYPOINT.
CMD может быть перезаписан

17
Q

Что делает директива EXPOSE в Dockerfile?

A

Документирует порт, на котором работает служба, но фактически не раскрывает порт