DAS_2024_1/zhimolostnova_anna_lab_1/README.md
2024-09-19 02:08:16 +04:00

70 lines
5.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Отчет по лабораторной работе №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. Убедиться, что установлены необходимые технологии:
- Docker: Платформа для контейнеризации приложений.
- Docker Compose: Инструмент для запуска многоконтейнерных приложений на основе `docker-compose.yaml`. Обычно поставляется вместе с Docker. Чтобы проверить, установлена ли утилита, нужно запустить команду:
```bash
docker-compose --version
```
2. В директории, где находится файл `docker-compose.yaml`, выполнить следующую команду для запуска всех сервисов:
```bash
docker compose up -d
```
Эта команда запустит контейнеры в фоновом режиме. Для отслеживания процесса можно использовать команду без флага `-d`, чтобы контейнеры запускались в режиме вывода логов.
3. После успешного запуска можно перейти в браузер и проверить:
- Moodle доступен по адресу: [http://localhost:80](http://localhost:80) (или по порту, указанному в переменной `MOODLE_PORT`).
- WordPress доступен по адресу: [http://localhost:8081](http://localhost:8081) (или по порту, указанному в переменной `WORDPRESS_PORT`).
## Другие возможности
1. Чтобы остановить контейнеры, нужно выполнить команду:
```bash
docker compose down
```
Эта команда остановит все контейнеры и удалит их, но сохранит данные в volume-ах.
2. Чтобы поставить контейнеры на паузу (без их остановки), нужно выполнить команду:
```bash
docker compose pause
```
Контейнеры останутся в памяти, но их процессы будут приостановлены.
3. Чтобы снять паузу, нужно выполнить команду:
```bash
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](https://vk.com/video193898050_456240868?list=ln-FRUcWLBDSsFz3YNUEk)