93 lines
4.5 KiB
Markdown
93 lines
4.5 KiB
Markdown
# Кашин Максим ПИбд-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) |