# Кашин Максим ПИбд-42 ## Описание Этот проект разворачивает среду с базой данных MySQL, системами управления проектами Redmine и платформой для создания сайтов WordPress с использованием Docker Compose. Ниже приведены шаги для запуска и настройки. ## 0. Предварительные действия Перед запуском Docker Compose выполнил следующие шаги: 1. Установил [Docker Desktop](https://www.docker.com/products/docker-desktop) для моей операционной системы. 2. Настроил брандмауэр Windows и разрешил доступ Docker. 3. Открыл PowerShell с правами администратора и выполнил следующие команды: ```bash net start vmcompute wsl --set-default-version 2 ``` ## 1. Структура и запуск сервиса Файл `docker-compose.yml` содержит описание трех сервисов: - **db (MySQL)** – база данных; - **redmine (Redmine)** – система управления проектами; - **wordpress (WordPress)** – платформа для создания сайтов. Запуск всех сервисов происходит через команду: ```bash docker-compose up -d ``` ## 2. Сервис MySQL Сервис `db` представляет собой контейнер с MySQL версии 8.0. - **Образ**: `mysql:8.0` - **Переменные окружения**: - `MYSQL_ROOT_PASSWORD` — пароль для пользователя root. - `MYSQL_DATABASE` — имя создаваемой базы данных (exampledb). - `MYSQL_USER` — имя пользователя базы данных (exampleuser). - `MYSQL_PASSWORD` — пароль пользователя базы данных (examplepass). - **Тома (volumes)**: - `db-data:/var/lib/mysql` — том для хранения данных базы данных. Сервис MySQL необходим для работы как Redmine, так и WordPress. ## 3. Сервис Redmine Сервис `redmine` представляет собой контейнер с системой управления проектами Redmine. - **Образ**: `redmine` - **Порты**: - `8080:3000` — Redmine будет доступен по адресу http://localhost:8080. - **Переменные окружения**: - `REDMINE_DB_DATABASE` — имя базы данных (exampledb). - `REDMINE_DB_MYSQL` — имя хоста базы данных (db). - `REDMINE_DB_PASSWORD` — пароль для подключения к базе данных (example). - `REDMINE_SECRET_KEY_BASE` — секретный ключ для работы с сессиями. - **Тома (volumes)**: - `redmine:/usr/src/redmine/files` — том для хранения файлов Redmine. ## 4. Сервис WordPress Сервис `wordpress` представляет собой контейнер с платформой WordPress. - **Образ**: `wordpress` - **Порты**: - `8081:80` — WordPress будет доступен по адресу http://localhost:8081. - **Переменные окружения**: - `WORDPRESS_DB_HOST` — хост базы данных (db). - `WORDPRESS_DB_USER` — имя пользователя базы данных (exampleuser). - `WORDPRESS_DB_PASSWORD` — пароль для подключения к базе данных (examplepass). - `WORDPRESS_DB_NAME` — имя базы данных (exampledb). - **Тома (volumes)**: - `wordpress:/var/www/html` — том для хранения файлов WordPress. ## 5. Томa данных Для хранения данных и постоянства контейнеров используются три тома: - `wordpress` — для данных WordPress. - `db-data` — для данных MySQL. - `redmine` — для файлов Redmine. ## 6. Остановка сервисов Для остановки и удаления всех контейнеров необходимо выполнить команду: ```bash docker-compose down ``` ## 7. Ссылка на видео [Видео-отчёт Кашин Максим ПИбд-42](https://disk.yandex.ru/i/O8L1qmk4PIbCvA)