Merge pull request 'gapon_nikolay_lab_1' (#364) from gapon_nikolay_lab_1 into main
Reviewed-on: #364
This commit is contained in:
commit
4f21ceda8e
33
gapon_nikolay_lab_1/README.md
Normal file
33
gapon_nikolay_lab_1/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# Лабораторная работа 1 - Знакомство с Docker и Docker Compose
|
||||
## Гапон Николай // ИСЭбд-41
|
||||
|
||||
# Описание работы
|
||||
|
||||
> Цель
|
||||
Освоение технологий контейнеризации для современных приложений.
|
||||
|
||||
> Задачи
|
||||
1. Установка и настройка Docker Desktop.
|
||||
2. Изучение базовых принципов работы Docker.
|
||||
3. Ознакомление с Docker Compose.
|
||||
4. Развёртывание сервисов.
|
||||
5. Подготовка отчёта о проделанной работе.
|
||||
|
||||
> Ход выполнения работы
|
||||
1. Изучить официальную документацию Docker и статьи на Habr.
|
||||
2. Скачать и установить Docker Desktop.
|
||||
3. Найти на Docker Hub примеры запуска Gitea, MediaWiki и PostgreSQL с помощью Docker Compose.
|
||||
4. Выполнить команду `docker-compose up` в терминале.
|
||||
5. Устранить ошибки, если они возникнут.
|
||||
6. Записать демонстрационное видео работы сервисов.
|
||||
7. Запушить изменения в ветку на Git.
|
||||
8. Создать Merge Request (MR) для проверки.
|
||||
|
||||
> Инструкция по запуску
|
||||
1. Скачать и установить Docker, если ещё не установлен
|
||||
2. Перейти в gapon_nikolay_lab_1 (cd ./gapon_nikolay_lab_1/)
|
||||
3. Выполнить в терминале 'docker-compose up'
|
||||
4. Проверить порты, на которых docker поднял контейнеры
|
||||
|
||||
> Видео демонстрация работы
|
||||
https://disk.yandex.ru/i/TgQoHrpZrZlGLA
|
69
gapon_nikolay_lab_1/docker-compose.yml
Normal file
69
gapon_nikolay_lab_1/docker-compose.yml
Normal file
@ -0,0 +1,69 @@
|
||||
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:
|
||||
|
||||
networks:
|
||||
app_network:
|
||||
driver: bridge
|
6
gapon_nikolay_lab_1/env
Normal file
6
gapon_nikolay_lab_1/env
Normal 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
|
Loading…
Reference in New Issue
Block a user