kosheev_maksim_lab_1 is ready #158

Open
1maksim1 wants to merge 2 commits from kosheev_maksim_lab_1 into main
3 changed files with 150 additions and 0 deletions

View File

@ -0,0 +1,88 @@
version: '3.8'
services:
mediawiki:
image: mediawiki:latest
container_name: mediawiki
environment:
MEDIAWIKI_DB_HOST: db-mediawiki
MEDIAWIKI_DB_NAME: mediawiki
MEDIAWIKI_DB_USER: wikiuser
MEDIAWIKI_DB_PASSWORD: password
ports:
- "8081:80"
depends_on:
- db-mediawiki
volumes:
- mediawiki_data:/var/www/html/images
db-mediawiki:
image: mysql:5.7
container_name: db-mediawiki
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mediawiki
MYSQL_USER: wikiuser
MYSQL_PASSWORD: password
volumes:
- db_mediawiki_data:/var/lib/mysql
wordpress:
image: wordpress:latest
container_name: wordpress
environment:
WORDPRESS_DB_HOST: db-wordpress
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: password
WORDPRESS_DB_NAME: wordpress
ports:
- "8082:80"
depends_on:
- db-wordpress
volumes:
- wordpress_data:/var/www/html
db-wordpress:
image: mysql:5.7
container_name: db-wordpress
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: password
volumes:
- db_wordpress_data:/var/lib/mysql
redmine:
image: redmine:latest
container_name: redmine
environment:
REDMINE_DB_MYSQL: db-redmine
REDMINE_DB_USERNAME: redmine
REDMINE_DB_PASSWORD: password
REDMINE_DB_DATABASE: redmine
ports:
- "8083:3000"
depends_on:
- db-redmine
volumes:
- redmine_data:/usr/src/redmine/files
db-redmine:
image: mysql:5.7
container_name: db-redmine
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: redmine
MYSQL_USER: redmine
MYSQL_PASSWORD: password
volumes:
- db_redmine_data:/var/lib/mysql
volumes:
mediawiki_data:
db_mediawiki_data:
wordpress_data:
db_wordpress_data:
redmine_data:
db_redmine_data:

View File

@ -0,0 +1,62 @@
Извините за недоразумение! Исправляю отчет с учетом нужного Markdown-формата:
---
# Лабораторная работа №1 - Развертывание сервисов в Docker
## Цель
Знакомство с контейнеризацией и развертывание нескольких веб-приложений с помощью Docker Compose.
## Описание
В рамках лабораторной работы были развернуты три веб-сервиса: **MediaWiki**, **WordPress** и **Redmine**. Все сервисы работают в Docker-контейнерах и используют MySQL в качестве базы данных. Конфигурация развертывания осуществляется с помощью Docker Compose.
## Как запустить лабораторную работу
1. Убедитесь, что Docker и Docker Compose установлены на вашей системе.
2. Клонируйте репозиторий с проектом и перейдите в его папку:
```bash
git clone <URL_репозитория>
cd <папка_проекта>
```
3. Запустите сервисы командой:
```bash
docker-compose up -d
```
4. После запуска сервисы будут доступны на следующих портах:
- **MediaWiki**: [http://localhost:8081](http://localhost:8081)
- **WordPress**: [http://localhost:8082](http://localhost:8082)
- **Redmine**: [http://localhost:8083](http://localhost:8083)
5. Чтобы остановить все контейнеры, выполните:
```bash
docker-compose down
```
## Используемые технологии
- **Docker**: Среда контейнеризации для изоляции приложений.
- **Docker Compose**: Утилита для развертывания многоконтейнерных Docker-приложений.
- **MediaWiki**: Движок для создания вики-сайтов.
- **WordPress**: Система управления контентом для создания веб-сайтов и блогов.
- **Redmine**: Система для отслеживания задач и управления проектами.
- **MySQL**: Реляционная база данных, используемая для хранения данных каждого сервиса.
## Функциональность
Файл `docker-compose.yml` создает и управляет следующими сервисами:
1. **MediaWiki**: Позволяет создавать и редактировать страницы. Данные сохраняются в volume `mediawiki_data`, а база данных размещена в контейнере `db-mediawiki`.
2. **WordPress**: Система управления контентом, использует volume `wordpress_data` для хранения файлов и контейнер `db-wordpress` для базы данных.
3. **Redmine**: Баг-трекер, который хранит данные в volume `redmine_data` и использует контейнер `db-redmine` для MySQL.
Каждый сервис настроен для подключения к своей базе данных через переменные среды.
## Тестирование
После запуска убедитесь, что:
- MediaWiki доступен по адресу [http://localhost:8081](http://localhost:8081).
- WordPress доступен по адресу [http://localhost:8082](http://localhost:8082).
- Redmine доступен по адресу [http://localhost:8083](http://localhost:8083).
[Видео](https://disk.yandex.ru/i/9ZTcVf5P2dkiNQ)
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB