DAS_2024_1/yakovleva_julia_lab_1
2024-09-19 16:03:50 +04:00
..
docker-compose.yml yakovleva_julia_lab_1 is ready 2024-09-19 16:03:50 +04:00
README.md yakovleva_julia_lab_1 is ready 2024-09-19 16:03:50 +04:00

Отчет по лабораторной работе 1

Описание

Docker Compose используется для одновременного управления несколькими контейнерами, входящими в состав приложения. Он позволяет хранить все настройки проекта в одном контейнере, что позволяет потом беспроблемно использовать те же настройки проекта на другом сервере. docker-compose.yml позволяет настраивать и документировать все зависимости служб приложения. В нем указываются образ, порт(который можно пробросить), окрущающие среды, томы и зависимости (если нужно).

Описание docker-compose.yml

Были выбраны следующие сервисы:

  1. Postgres
  2. Redmine
  3. Gitea

В файле у каждого сервиса пробрасывается порт. Каждый сервис содержит том, который используются для хранения данных. Запуск Redmine и Gitea имеют зависимость от Postgres, чтобы они имели возможность накатить миграции и заполнить таблицы после создания базы. У каждого сервиса заполнен паарметр environment, где указываются данные для БД.

Инструкция по запуску

  1. Запустить приложение Docker Hub
  2. Открыть консоль с помощью команды cd перейти к папке, где находится файл docker-compose.yml
  3. Ввести команду для поднятия контейнеров
docker compose up -d

Дожидаемся запуска сервисов:

[+] Running 3/3
 ✔ Container yakovleva_julia_lab_1-postgres-1  Started                                                             0.5s
 ✔ Container yakovleva_julia_lab_1-gitea-1     Started                                                             1.2s
 ✔ Container yakovleva_julia_lab_1-redmine-1   Started                                                             1.1s
  1. Убедиться, что сервисы успешно запущены можно по команде:
docker compose ps

Отобразится таблица с запущенными сервисами:

NAME                               IMAGE                COMMAND                  SERVICE    CREATED          STATUS         PORTS
yakovleva_julia_lab_1-gitea-1      gitea/gitea:1.22.2   "/usr/bin/entrypoint…"   gitea      19 minutes ago   Up 6 seconds   22/tcp, 0.0.0.0:3002->3000/tcp
yakovleva_julia_lab_1-postgres-1   postgres:16.4        "docker-entrypoint.s…"   postgres   19 minutes ago   Up 6 seconds   0.0.0.0:5433->5432/tcp
yakovleva_julia_lab_1-redmine-1    redmine:latest       "/docker-entrypoint.…"   redmine    19 minutes ago   Up 6 seconds   0.0.0.0:3003->3000/tcp

Также можно посомтреть логи каждого севриса при вводе команды:

docker compose logs -ft (название сервиса)

-ft необходим для того, чтобы читать логи сервиса в реальном времени

Видео

Видео работоспособности.