gapon first lab

This commit is contained in:
NikGapon 2024-12-17 01:29:01 +04:00
parent 5dd9e26f07
commit 1fde600d92
3 changed files with 103 additions and 0 deletions

View File

@ -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 поднял контейнеры
> Видео демонстрация работы

View File

@ -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:

6
gapon_nikolay_lab_1/env Normal file
View File

@ -0,0 +1,6 @@
POSTGRES_DB=mydb
POSTGRES_USER=admin
POSTGRES_PASSWORD=admin
GITEA_WEB_PORT=3000
GITEA_SSH_PORT=2222
MEDIAWIKI_PORT=8080