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

Лабораторная работа №1 - Docker и Docker Compose

Описание

Этот проект разворачивает среду с с базой данных MySQL, Git-сервером Gitea, систему управления проектами Redmine и платформу для создания сайтов WordPress с использованием Docker Compose. Ниже приведены шаги для запуска и настройки.

0. Предварительные действия

Перед запуском Docker Compose было сделано следующее:

  1. Установка Docker Desktop для моей операционной системы.
  2. Настройка брандмауэра Windows и разрешение доступа Docker.
  3. Открытие PowerShell с правами администратора и выполнение следующих команд:
    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
  • Порты:
  • Переменные окружения:
    • 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
  • Порты:
  • Переменные окружения:
    • 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