Перейти к основному содержимому

Контейнеризация Docker

Введение

Что потребуется перед началом

План и задачи лабораторной

  1. Часть 1. Базовые команды Docker:
    1. Подготовка рабочего окружения.
    2. Образа - docker pull, docker images.
    3. Метки и удаление образа - docker tag.
    4. Запускаем контейнер - docker run, docker logs.
    5. Списки контейнеров - docker ps.
    6. Подключаемся к контейнеру - docker exec.
    7. Список изменений - docker diff.
    8. Завершаем контейнер -docker stop, docker kill, docker rm.
    9. Не теряем данные - docker volume.
    10. Контейнер Adminer.
    11. Сети - docker network.
  2. Часть 2. Продвинутая работа с Docker:
    1. Настройка базы данных.
    2. Запускаем Adminer.
    3. Запускаем свой сервис.
    4. Подробнее про сборку образа.
    5. Оптимизируем сборку.
    6. Многоэтапная сборка.
    7. Делимся образом docker push.

Задачи:

  1. Выполнить все действия, представленные в методических указаниях и ознакомиться с материалом.
  2. Продемонстрировать результаты выполнения преподавателю, быть готовым повторить выполнение части задач из лабораторной по требованию.
  3. Ответить на контрольные вопросы.

Отчет

Отчет в формате docx. Обязательное содержимое отчета:

  1. Фамилия и инициалы студента, номер группы, номер варианта;
  2. План и задачи лабораторной работы;
  3. Краткое описание хода выполнения работы;
  4. Приложить очищенный вывод history выполненных команд.

Вступление

Для полного понимания рекомендуется ознакомиться с вводной статьей по Docker.

docker-arch

Docker демон

Docker демон (containerd или dockerd) обслуживает Docker API запросы (через сокет или по http) и управляет Docker-объектами (образа, контейнеры, сети, тома, и т.д.). Проверить: systemctl status dockerd.

Docker клиент

Docker клиент (docker) основной способ взаимодействия пользователя с Docker демоном (против работы напрямую с API). Когда вы запускаете команду docker run, клиент отправляет сообщение процессу dockerd (или containerd), который его обрабатывает. Утилита docker использует Docker API и может работать сразу с несколькими Docker демонами, не обязательно на локальной машине.

Docker Desktop

Docker Desktop приложение для Mac, Windows или Linux окружений, которое позволяет вам собирать и публиковать ваши контейнеризованные приложения и сервисы. Docker Desktop включает в себя Docker демон, Docker клиент, Docker Compose (с ним будем работать отдельно позже), Docker Content Trust, Kubernetes, и Credential Helper. Больше читайте в руководстве: Docker Desktop.

Docker registry

Docker registry (реестр) хранит Docker образа. Docker Hub - публичный реестр для общего пользования, и Docker настроен искать образа там по умолчанию. Также вы можете использовать свой личный реестр.