Files
DAS_2025_1/lab_1.md
2025-09-10 07:51:15 +04:00

3.9 KiB
Raw Blame History

Лабораторная работа №1 - Знакомство с docker и docker-compose

Цель: изучение современных технологий контейнеризации.

Задачи:

  1. Установить средство контейнеризации docker.
  2. Изучить применение и принципы docker.
  3. Изучить утилиту docker-compose и структуру файла docker-compose.yml.
  4. Развернуть не менее 3х различных сервисов при помощи docker-compose.
  5. Оформить отчёт в формате Markdown и создать Pull Request в git-репозитории.

Установка docker

Для систем с графическим дисплеем рекомендуется устанавливать Docker Desktop, т.к. это средство позволяет максимально легко установить docker с графическим управлением в ОС.

Если же установка Docker Desktop для Вашей системы не применима, можно установить отдельно docker engine и, например, расширение Docker для Visual Studio Code.

Принципы docker

  1. Переменные окружения для запуска приложений.
  2. Монтирование директорий в linux и других подобный ОС.
  3. Отличие контейнера от виртуальной машины.
  4. Что такое образ (image) в docker, и в чём отличие от контейнера (container).
  5. Что такое Docker Hub.
  6. Что такое раздел/том (volume), и как это помогает обмениваться файлами между контейнерами или с хостом (host).
  7. Зачем нужно отображение портов из контейнера в хост.

Изучение docker-compose

В рамках этого пункта необходимо понять, что такое docker-compose и конфигурационный файл docker-compose.yml.

Также в этом разделе изучите формат записи YAML, т.к. это сильно поможет в будущем.

Разворачивание сервисов

Предлагается развернуть не менее 3х сервисов через docker-compose из списка ниже:

  1. mediawiki Движок вики.
  2. redmine Система учёта багов, т.е. баг-трекер.
  3. wordpress Популярная система управления контентом.
  4. drupal Ещё одна популярная система управления контентом.
  5. moodle Система для обучения, на которой построена https://lms.ulstu.ru.
  6. gitea Сервис для хранения репозиториев git, на котором работает этот репозиторий.

Можно вбить в поисковый движок фразу "%service_name% docker-compose", и вы удивитесь, что, скорее всего, найдёте ответ.

Требования и docker-compose:

  • Несколько контейнеров.
  • Хотя бы один volume.
  • Хотя бы один порт, проброшенный на хост.

При этом разворачивание системы должно пройти до конца. Например, должен быть создан администратор и система должна корректно функционировать. Это необходимо будет предоставить в отчёте, поэтому не забывайте делать скриншоты.