DAS_2024_1/zhimolostnova_anna_lab_1/README.md
2024-09-19 01:56:40 +04:00

5.4 KiB
Raw Blame History

Отчет по лабораторной работе №1

Поставленные задачи

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

Сервисы

  1. Moodle — платформа для дистанционного обучения (LMS).
  2. WordPress — популярная система управления контентом (CMS).
  3. MariaDB — реляционная база данных для хранения данных.

Запуск работы

  1. Убедиться, что установлены необходимые технологии: 1.1. Docker: Платформа для контейнеризации приложений. 1.2. Docker Compose: Инструмент для запуска многоконтейнерных приложений на основе docker-compose.yaml. Обычно поставляется вместе с Docker. Чтобы проверить, установлена ли утилита, нужно запустить команду:
    docker-compose --version
  1. В директории, где находится файл docker-compose.yaml, выполнить следующую команду для запуска всех сервисов:
    docker compose up -d

Эта команда запустит контейнеры в фоновом режиме. Для отслеживания процесса можно использовать команду без флага -d, чтобы контейнеры запускались в режиме вывода логов.

  1. После успешного запуска можно перейти в браузер и проверить: 3.1. Moodle доступен по адресу: http://localhost:80 (или по порту, указанному в переменной MOODLE_PORT). 3.2. WordPress доступен по адресу: http://localhost:8081 (или по порту, указанному в переменной WORDPRESS_PORT).

Другие возможности

  1. Чтобы остановить контейнеры, нужно выполнить команду:
    docker compose down

Эта команда остановит все контейнеры и удалит их, но сохранит данные в volume-ах.

  1. Чтобы поставить контейнеры на паузу (без их остановки), нужно выполнить команду:
    docker compose pause

Контейнеры останутся в памяти, но их процессы будут приостановлены. 3. Чтобы снять паузу, нужно выполнить команду:

    docker compose unpause

Описание работы

  1. Сервис mariadb: Этот сервис поднимает контейнер с MariaDB (образ от Bitnami), который хранит данные для Moodle. Здесь используются переменные окружения для конфигурации имени базы данных, паролей и пользователя. Данные базы хранятся в volume moodle_db_data, чтобы они сохранялись даже после перезапуска контейнера.
  2. Сервис wordpress_db: Аналогично mariadb, этот сервис поднимает контейнер MariaDB для базы данных WordPress. Данные хранятся в отдельном volume wordpress_db_data.
  3. Сервис moodle: Это контейнер с приложением Moodle, который зависит от настроенного контейнера базы данных mariadb. Moodle использует переменные окружения для подключения к своей базе данных. Также используются volumes для хранения файлов Moodle и данных, загружаемых пользователями, что обеспечивает их сохранение между перезапусками.
  4. Сервис wordpress: Этот контейнер поднимает приложение WordPress, которое зависит от сервиса базы данных wordpress_db. Volumes используются для хранения файлов WordPress (включая темы, плагины и медиафайлы), что гарантирует их сохранность между перезапусками.

Построчное описание docker-compose.yaml выполнено в самом файле.

Демонстрационное видео

Видеозапись доступна по адресу: https://vk.com/video193898050_456240868?list=ln-FRUcWLBDSsFz3YNUEk