kurbanova_alina_lab_1 is ready
This commit is contained in:
99
kurbanova_alina_lab_1/README.md
Normal file
99
kurbanova_alina_lab_1/README.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# Лабораторная работа №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
|
||||
56
kurbanova_alina_lab_1/docker-compose.yml
Normal file
56
kurbanova_alina_lab_1/docker-compose.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
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
|
||||
|
||||
gitea:
|
||||
image: gitea/gitea:1.21 # Используйте конкретную версию вместо latest
|
||||
restart: always
|
||||
ports:
|
||||
- "3000:3000"
|
||||
volumes:
|
||||
- gitea:/data
|
||||
|
||||
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
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
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
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
volumes: # Определение томов для хранения данных
|
||||
wordpress:
|
||||
gitea:
|
||||
redmine:
|
||||
db_data:
|
||||
Reference in New Issue
Block a user