From 1fde600d9242ed6234d9697866739d7af91871e1 Mon Sep 17 00:00:00 2001 From: NikGapon Date: Tue, 17 Dec 2024 01:29:01 +0400 Subject: [PATCH] gapon first lab --- gapon_nikolay_lab_1/README.md | 32 +++++++++++++ gapon_nikolay_lab_1/docker-compose.yml | 65 ++++++++++++++++++++++++++ gapon_nikolay_lab_1/env | 6 +++ 3 files changed, 103 insertions(+) create mode 100644 gapon_nikolay_lab_1/README.md create mode 100644 gapon_nikolay_lab_1/docker-compose.yml create mode 100644 gapon_nikolay_lab_1/env diff --git a/gapon_nikolay_lab_1/README.md b/gapon_nikolay_lab_1/README.md new file mode 100644 index 0000000..13539a3 --- /dev/null +++ b/gapon_nikolay_lab_1/README.md @@ -0,0 +1,32 @@ +# Лабораторная работа 1 - Знакомство с Docker и Docker Compose +## Гапон Николай // ИСЭбд-41 + +# Описание работы + +> Цель +Изучение современных технологий контейнеризации. + +> Задачи +1. Установка Docker Desktop. +2. Принципы Docker. +3. Изучение Docker Compose. +4. Разворачивание сервисов. +5. Оформление отчёта. + +> Ход выполнения работы +1. Открыть документацию docker и страницу на habr +2. Скачать и установить docker desktop +3. Смотрим на docker hub как поднять с помощью docker-compose -> gitea, mediawiki, postgresql +4. Запускаем в терминале 'docker-compose up' +4. Исправляем ошибки +5. Записываем видео +6. pushим ветку на git +7. кидаем mrку (merge request) + +> Инструкция по запуску +1. Скачать и установить Docker, если ещё не сделано +2. Перейти в gapon_nikolay_lab_1 (cd ./gapon_nikolay_lab_1/) +3. Выполнить в терминале 'docker-compose up' +4. Проверить порты, на которых docker поднял контейнеры + +> Видео демонстрация работы diff --git a/gapon_nikolay_lab_1/docker-compose.yml b/gapon_nikolay_lab_1/docker-compose.yml new file mode 100644 index 0000000..ae554f7 --- /dev/null +++ b/gapon_nikolay_lab_1/docker-compose.yml @@ -0,0 +1,65 @@ +version: '3.8' + +# Определение сервисов +services: + # Сервис базы данных PostgreSQL + db: + image: postgres:latest # Готовый образ PostgreSQL + container_name: postgres_db + restart: always + environment: + - POSTGRES_DB=${POSTGRES_DB:-mydb} # Имя БД + - POSTGRES_USER=${POSTGRES_USER:-admin} # Пользователь БД + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-admin} # Пароль пользователя БД + volumes: + - db_data:/var/lib/postgresql/data # Монтирование тома для хранения данных БД + networks: + - app_network + + # Сервис Gitea + gitea: + image: gitea/gitea:latest # Готовый образ Gitea + container_name: gitea + restart: always + ports: + - "${GITEA_WEB_PORT:-3000}:3000" # Проброс веб-порта + - "${GITEA_SSH_PORT:-2222}:22" # Проброс SSH-порта + volumes: + - gitea_data:/data # Монтирование тома для постоянного хранения данных + environment: + - USER_UID=1000 # UID пользователя внутри контейнера + - USER_GID=1000 # GID пользователя внутри контейнера + - DB_TYPE=postgres + - DB_HOST=db:5432 + - DB_NAME=${POSTGRES_DB:-mydb} + - DB_USER=${POSTGRES_USER:-admin} + - DB_PASSWD=${POSTGRES_PASSWORD:-admin} + depends_on: + - db # Gitea запускается после PostgreSQL + networks: + - app_network + + # Сервис MediaWiki + mediawiki: + image: mediawiki:latest # Готовый образ MediaWiki + container_name: mediawiki + restart: always + ports: + - "${MEDIAWIKI_PORT:-8080}:80" # Проброс порта + volumes: + - mediawiki_data:/var/www/html # Монтирование тома для постоянного хранения данных + environment: + - MEDIAWIKI_DB_HOST=db # Хост базы данных + - MEDIAWIKI_DB_NAME=${POSTGRES_DB:-mydb} # Имя БД для MediaWiki + - MEDIAWIKI_DB_USER=${POSTGRES_USER:-admin} # Пользователь БД + - MEDIAWIKI_DB_PASSWORD=${POSTGRES_PASSWORD:-admin} # Пароль пользователя БД + depends_on: + - db # MediaWiki запускается после PostgreSQL + networks: + - app_network + +# Определение volumes для хранения данных вне контейнеров +volumes: + db_data: + gitea_data: + mediawiki_data: diff --git a/gapon_nikolay_lab_1/env b/gapon_nikolay_lab_1/env new file mode 100644 index 0000000..e8f4fba --- /dev/null +++ b/gapon_nikolay_lab_1/env @@ -0,0 +1,6 @@ +POSTGRES_DB=mydb +POSTGRES_USER=admin +POSTGRES_PASSWORD=admin +GITEA_WEB_PORT=3000 +GITEA_SSH_PORT=2222 +MEDIAWIKI_PORT=8080 \ No newline at end of file