.. | ||
.env | ||
docker-compose.yaml | ||
README.md |
Отчет по лабораторной работе №1
Поставленные задачи
- Установить средство контейнеризации docker.
- Изучить применение и принципы docker.
- Изучить утилиту docker-compose и структуру файла
docker-compose.yml
. - Развернуть не менее 3х различных сервисов при помощи docker-compose.
- Оформить отчёт в формате Markdown и создать Pull Request в git-репозитории.
Сервисы
- Moodle — платформа для дистанционного обучения (LMS).
- WordPress — популярная система управления контентом (CMS).
- MariaDB — реляционная база данных для хранения данных.
Запуск работы
- Убедиться, что установлены необходимые технологии:
1.1. Docker: Платформа для контейнеризации приложений.
1.2. Docker Compose: Инструмент для запуска многоконтейнерных приложений на основе
docker-compose.yaml
. Обычно поставляется вместе с Docker. Чтобы проверить, установлена ли утилита, нужно запустить команду:
docker-compose --version
- В директории, где находится файл
docker-compose.yaml
, выполнить следующую команду для запуска всех сервисов:
docker compose up -d
Эта команда запустит контейнеры в фоновом режиме. Для отслеживания процесса можно использовать команду без флага -d
, чтобы контейнеры запускались в режиме вывода логов.
- После успешного запуска можно перейти в браузер и проверить:
3.1. Moodle доступен по адресу: http://localhost:80 (или по порту, указанному в переменной
MOODLE_PORT
). 3.2. WordPress доступен по адресу: http://localhost:8081 (или по порту, указанному в переменнойWORDPRESS_PORT
).
Другие возможности
- Чтобы остановить контейнеры, нужно выполнить команду:
docker compose down
Эта команда остановит все контейнеры и удалит их, но сохранит данные в volume-ах.
- Чтобы поставить контейнеры на паузу (без их остановки), нужно выполнить команду:
docker compose pause
Контейнеры останутся в памяти, но их процессы будут приостановлены. 3. Чтобы снять паузу, нужно выполнить команду:
docker compose unpause
Описание работы
- Сервис mariadb: Этот сервис поднимает контейнер с MariaDB (образ от Bitnami), который хранит данные для Moodle. Здесь используются переменные окружения для конфигурации имени базы данных, паролей и пользователя. Данные базы хранятся в volume moodle_db_data, чтобы они сохранялись даже после перезапуска контейнера.
- Сервис wordpress_db: Аналогично mariadb, этот сервис поднимает контейнер MariaDB для базы данных WordPress. Данные хранятся в отдельном volume wordpress_db_data.
- Сервис moodle: Это контейнер с приложением Moodle, который зависит от настроенного контейнера базы данных mariadb. Moodle использует переменные окружения для подключения к своей базе данных. Также используются volumes для хранения файлов Moodle и данных, загружаемых пользователями, что обеспечивает их сохранение между перезапусками.
- Сервис wordpress: Этот контейнер поднимает приложение WordPress, которое зависит от сервиса базы данных wordpress_db. Volumes используются для хранения файлов WordPress (включая темы, плагины и медиафайлы), что гарантирует их сохранность между перезапусками.
Построчное описание docker-compose.yaml выполнено в самом файле.
Демонстрационное видео
Видеозапись доступна по адресу: https://vk.com/video193898050_456240868?list=ln-FRUcWLBDSsFz3YNUEk