Merge pull request 'polevoy_sergey_lab_1' (#13) from polevoy_sergey_lab_1 into main

Reviewed-on: Alexey/DAS_2024_1#13
This commit is contained in:
Alexey 2024-09-23 16:54:09 +04:00
commit 48f7f3a215
2 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,42 @@
services: # Начало объявления сервисов
gitea: # Указывается название сервиса
image: gitea/gitea:1.22.2 # Указание названия образа (и/или его версии), который будет взят для создания контейнера
restart: always # Указывается политика перезапуска, в данном случае всегда перезапускать контейнер, если он остановился
environment: # Указываются переменные среды
- GITEA__database__DB_TYPE=postgres # Тип базы данных
- GITEA__database__HOST=postgres:5432 # Хост бд. Название сервиса это а-ля доменное имя и внутри сети разрешается в ip нужного контейнера
- GITEA__database__NAME=gitea # Название базы данных
- GITEA__database__USER=superuser # Пользователь базы данных
- GITEA__database__PASSWD=superpassword # Пароль пользователя базы данных
ports: # Перечисляются пробросы портов на хостовую машину. Слева порт хостовой машины, справа порт контейнера
- "3000:3000" # Web интерфейс
- "222:22" # SSH
volumes: # Указываются монтированные тома, папки, файлы. В данном случае в папку /data монтируется объявленный ниже том gitea
- gitea:/data
depends_on: # Указывается зависимость запуска контейнера от другого сервиса, в данном случае запускается только после запуска сервиса бд
- postgres
# Дальше всё по аналогии, различаются лишь названия, переменные окружения, образы, порты и тома
postgres:
image: postgres:14
restart: always
environment:
- POSTGRES_USER=superuser
- POSTGRES_PASSWORD=superpassword
- POSTGRES_DB=gitea
ports:
- "5432:5432"
volumes:
- postgres:/var/lib/postgresql/data
rabbitmq:
image: rabbitmq:3-management
environment:
RABBITMQ_DEFAULT_USER: superuser
RABBITMQ_DEFAULT_PASS: superpassword
ports:
- "5672:5672"
- "15672:15672"
volumes: # Перечисление томов, которые можно использовать как в одном, так и в нескольких сервисах
postgres:
gitea:

View File

@ -0,0 +1,25 @@
# Лабораторная работа №1
В рамках данной лабораторной работы будут развёрнуты следующие сервисы:
1. **Gitea** - система управления версиями
2. **Postgres** - реляционая база данных
3. **Rabbitmq** - брокер сообщений
Инструкции к запуску контейнеров и пояснения к ним находятся в файле ```docker-compose.yml```
## Порядок запуска
#### 1. Установить docker или убедиться, что он установлен
#### 2. Перейти в папку с файлом ```docker-compose.yml```
#### 3. Выполнить команду в терминале: ```docker-compose up --build --remove-orphans```
Проверить успешность запуска можно командой ```docker ps -a```. Если всё прошло успешно, то в терминале будет написано:
```
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1a794331b32b gitea/gitea:1.22.2 "/usr/bin/entrypoint…" 20 seconds ago Up 18 seconds 0.0.0.0:3000->3000/tcp, 0.0.0.0:222->22/tcp polevoy_sergey_lab_1-gitea-1
b5fe33c61c1d rabbitmq:3-management "docker-entrypoint.s…" 20 seconds ago Up 19 seconds 4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, 15671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp rabbitmq
3d2db73d15c5 postgres:14 "docker-entrypoint.s…" 20 seconds ago Up 19 seconds 0.0.0.0:5432->5432/tcp polevoy_sergey_lab_1-postgres-1
```
Работать со всеми перечисленными сервисами можно сразу после запуска за исключением **gitea**. После первого запуска необходимо зайти на сервис, выполнить первоначальную настройку и создать суперпользователя.
## Видеодемонстрация работы
### Видео доступно по [ссылке](https://disk.yandex.ru/i/3Out4mUV6NEJuA)