Files
Алина Курбанова d8b6117893 kurbanova_alina_lab_1 is ready
2025-10-08 18:11:57 +04:00

99 lines
4.8 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 - Docker и Docker Compose
## Описание
Этот проект разворачивает среду с с базой данных MySQL, Git-сервером Gitea, систему управления проектами 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` содержит описание трех сервисов:
- **gitea** git-сервер;
- **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. Git-сервер
**Образ**: gitea/gitea
**Порты**: 3000:3000
**Переменные окружения**:
- `USER_UID` — идентификатор пользователя.
- `USER_GID` — идентификатор группы.
**Тома**:
- `gitea:/data` — том для хранения файлов Gitea.
## 4. Сервис 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` — секретный ключ для работы с сессиями.
- **Тома**:
- `redmine:/usr/src/redmine/files` — том для хранения файлов Redmine.
## 5. Сервис 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).
- **Тома**:
- `wordpress:/var/www/html` — том для хранения файлов WordPress.
## 6. Томa данных
Для хранения данных и постоянства контейнеров используются три тома:
- `wordpress` — для данных WordPress.
- `db-data` — для данных MySQL.
- `redmine` — для файлов Redmine.
## 7. Остановка сервисов
Для остановки и удаления всех контейнеров необходимо выполнить команду:
```bash
docker-compose down
```
## 8. Ссылка на видео
https://vkvideo.ru/video-233171473_456239017