## Лабораторная работа №1: Знакомство с docker и docker-compose --- **Цель:** изучение современных технологий контейнеризации. **Задачи:** 1. Установить средство контейнеризации docker. 2. Изучить применение и принципы docker. 3. Изучить утилиту docker-compose и структуру файла docker-compose.yml. 4. Развернуть не менее 3х различных сервисов при помощи docker-compose. 5. Оформить отчёт в формате Markdown и создать Pull Request в git-репозитории. --- **Сервисы:** * **Gitea:** Легковесная и самодостаточная система управления версиями кода с веб-интерфейсом. * **Postgres:** Мощная система управления реляционными базами данных с открытым исходным кодом. * **Redis:** Высокопроизводительное хранилище данных типа "ключ-значение", используемое для кэширования, сессий и других задач. --- **Инструкция по запуску:** 1. **Установка Docker:** Необходимо убедиться, установлен ли Docker на системе, в ином случае установить его. 2. **Навигация:** Перейти в директорию с файлом `docker-compose.yml`. 3. **Запуск:** Необходимо выполнить следующую команду в терминале: ```bash docker-compose up --build --remove-orphans ``` Данная команда создаст и запустит все необходимые контейнеры, описанные в `docker-compose.yml`. **Проверка:** Для проверки успешного запуска нужно выполнить команду: ```bash docker ps -a ``` В случае успеха мы можем увидеть список запущенных контейнеров (gitea, postgres и redis): ```bash CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6ea2e28126a8 gitea/gitea:1.22.2 "/usr/bin/entrypoint…" About a minute ago Up 9 seconds 0.0.0.0:3000->3000/tcp, 0.0.0.0:222->22/tcp minhasapov_ruslan_lab_1-gitea-1 2490f332bc90 postgres:14 "docker-entrypoint.s…" About a minute ago Up 9 seconds 0.0.0.0:5432->5432/tcp minhasapov_ruslan_lab_1-postgres-1 c5580d8fe1d7 redis:latest "docker-entrypoint.s…" About a minute ago Up 9 seconds 0.0.0.0:6379->6379/tcp minhasapov_ruslan_lab_1-redis-1 ``` **Примечание:** *Файл `docker-compose.yml` содержит подробную информацию о конфигурации каждого сервиса, включая порты, тома и переменные окружения.* **Важно:** После первого запуска **Gitea**, необходимо зайти на сервис *(по адресу `http://localhost:3000`)*, выполнить первоначальную настройку и создать суперпользователя. --- **Видеодемонстрация работы:** Видео доступно по *[ссылке](https://disk.yandex.ru/i/6Efipp3Gxs9-Jw)* ---