Merge pull request 'kashin_maxim_lab_1' (#22) from kashin_maxim_lab_1 into main
Reviewed-on: #22
This commit is contained in:
commit
47193155d9
93
kashin_maxim_lab_1/README.md
Normal file
93
kashin_maxim_lab_1/README.md
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
# Кашин Максим ПИбд-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)
|
45
kashin_maxim_lab_1/docker-compose.yml
Normal file
45
kashin_maxim_lab_1/docker-compose.yml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
version: '3.1' # Версия Docker Compose файла
|
||||||
|
|
||||||
|
services: # Определение сервисов, которые будут запускаться
|
||||||
|
|
||||||
|
db: # Сервис базы данных MySQL
|
||||||
|
image: mysql:8.0 # Образ
|
||||||
|
restart: always # Автоматический перезапуск контейнера
|
||||||
|
environment: # Переменные окружения для конфигурации базы данных
|
||||||
|
MYSQL_ROOT_PASSWORD: example
|
||||||
|
MYSQL_DATABASE: exampledb
|
||||||
|
MYSQL_USER: exampleuser
|
||||||
|
MYSQL_PASSWORD: examplepass
|
||||||
|
volumes: # Определение томов для сохранения данных базы данных
|
||||||
|
- db-data:/var/lib/mysql
|
||||||
|
|
||||||
|
redmine: # redmine Система учёта багов, т.е. баг-трекер.
|
||||||
|
image: redmine # Образ
|
||||||
|
restart: always # Автоматический перезапуск контейнера
|
||||||
|
ports:
|
||||||
|
- 8080:3000 # Переадресация локального порта 8080 на порт 3000 в контейнере
|
||||||
|
environment: # Переменные окружения для настройки Redmine (подключение к бд)
|
||||||
|
REDMINE_DB_DATABASE: exampledb
|
||||||
|
REDMINE_DB_MYSQL: db
|
||||||
|
REDMINE_DB_PASSWORD: example
|
||||||
|
REDMINE_SECRET_KEY_BASE: supersecretkey
|
||||||
|
volumes: # Том для хранения данных Redmine
|
||||||
|
- redmine:/usr/src/redmine/files
|
||||||
|
|
||||||
|
wordpress: # wordpress Популярная система управления контентом.
|
||||||
|
image: wordpress # Образ
|
||||||
|
restart: always # Автоматический перезапуск контейнера
|
||||||
|
ports:
|
||||||
|
- 8081:80 # Переадресация локального порта 8081 на порт 80 в контейнере
|
||||||
|
environment: # Переменные окружения для настройки WordPress (подключение к бд)
|
||||||
|
WORDPRESS_DB_HOST: db
|
||||||
|
WORDPRESS_DB_USER: exampleuser
|
||||||
|
WORDPRESS_DB_PASSWORD: examplepass
|
||||||
|
WORDPRESS_DB_NAME: exampledb
|
||||||
|
volumes: # Том для хранения данных WordPress
|
||||||
|
- wordpress:/var/www/html
|
||||||
|
|
||||||
|
volumes: # Определение томов для хранения данных
|
||||||
|
wordpress:
|
||||||
|
db-data:
|
||||||
|
redmine:
|
Loading…
Reference in New Issue
Block a user