Применение docker
Терминология
-
Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.
-
Docker Daemon (демон Докера) - Фоновый сервис, запущенный на хост-машине, который отвечает за создание, запуск и уничтожение Докер-контейнеров.
-
Docker Client (клиент Докера) - Утилита командной строки, которая позволяет пользователю взаимодействовать с демоном.
-
Docker Hub - Регистр Докер-образов. Архив всех доступных образов. Если нужно, то можно содержать собственный регистр и использовать его для получения образов.
-
Image (container image, образ) – упорядоченный набор корневых изменений файловой системы и соответствующих параметров выполнения для использования в среде выполнения контейнера. Образ обычно содержит объединение многоуровневых файловых систем, расположенных друг на друге. Образ не имеет состояния. Образ нельзя изменить после создания.
-
Container (контейнер) – экземпляр среды выполнения образа (Image). Контейнер состоит из: образа (Image); среды выполнения; стандартного набора инструкций.
-
Dockerfile – текстовый документ, который содержит все команды, которые обычно выполняются вручную для построения образов docker. Docker может автоматически создавать образы, прочитав инструкции из данного файла.
-
Volume (том) - это специально назначенный каталог в одном или нескольких контейнерах, который обходит Union File System. Тома предназначены для сохранения данных, независимо от жизненного цикла контейнера. Поэтому Docker никогда автоматически не удаляет тома при удалении контейнера, и он не «собирает мусор» тома, на которые контейнер больше не ссылается. Также известен как: объем данных. Существует три типа томов: host (хостовый том), anonymous (анонимный том) и named (именованный том):
-
Хостовый том находится в файловой системе хост-машины (где установлен Docker) и доступен из контейнера.
-
Именованный том - том с назначенным именем
-
Анонимный том - том которому не назначается имя
-
Основные тезисы
-
Docker как форма поставки дистрибутива
-
Обновление системы сохраняется в виде *.zip файла
-
Обновление в виде docker image требует отдельного изучения
-
В качестве базового образа используется ubuntu:16.04
-
Docker запускается в демон режиме
Описание
, где
-
Host - хост-машина, сервер (физический или виртуальный) с ОС на которую можно установить Docker CE.
-
Docker (application) - приложение docker
-
era-er (docker container) - контейнер созданный из поставляемого образа era.
-
era_vol - именованный том, указывающий на каталог /usr/lib/era внутри контейнера. Хранит данные созданные в процессе работы контейнера, необходим для продолжения работы после перезагрузки контейнера.
-
supv_vol - анонимный том, объявленный при создании образа era и указывающий на /etc/supervisor/conf.d. Хранит конфигурации приложения supervisor внутри контейнера, необходим для продолжения работы после перезагрузки контейнера.
Описание образа era в виде тезисов:
-
Докер контейнер содержит настроенную среду для запуска системы (r).
-
Перед запуском контейнера создаются тома, они позволяют перезапускать контейнер без потери накопленной информации. Так же можно удалять контейнер и запускать новый из образа используя существующие тома (может быть использовано для обновления)
-
Важным этапом является запуск контейнера, необходимо перечислить все необходимые параметры (режим перезапуска, пробрасываемые порты, подключаемые тома и т.д.) т.к. после создания контейнера их изменить нельзя (только создать новый контейнер).
-
При запуске контейнера выполняется команда запуска supervisor без демонизации, т.о. если supervisor завершится, остановится контейнер.
-
После первого запуска контейнера необходимо подключиться к нему и произвести конфигурирование системы (r)
-
В описании докер образа присутствует информация о версии системы и коммите с которого была произведена сборка