diff --git a/bondarenko_max_lab_1/.env b/bondarenko_max_lab_1/.env new file mode 100644 index 0000000..15a653b --- /dev/null +++ b/bondarenko_max_lab_1/.env @@ -0,0 +1,20 @@ +# PostgreSQL конфигурация +POSTGRES_DB=mediawiki +POSTGRES_USER=wikiuser +POSTGRES_PASSWORD=secret + +# MediaWiki конфигурация +MEDIAWIKI_DB_NAME=mediawiki +MEDIAWIKI_DB_USER=wikiuser +MEDIAWIKI_DB_PASSWORD=secret + +# WordPress конфигурация +WORDPRESS_DB_NAME=wordpress +WORDPRESS_DB_USER=wpuser +WORDPRESS_DB_PASSWORD=secret + +# Порты +MEDIAWIKI_PORT=8080 +WORDPRESS_PORT=8081 +GITEA_WEB_PORT=3000 +GITEA_SSH_PORT=222 diff --git a/bondarenko_max_lab_1/.gitignore b/bondarenko_max_lab_1/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/bondarenko_max_lab_1/README.md b/bondarenko_max_lab_1/README.md new file mode 100644 index 0000000..fba4932 --- /dev/null +++ b/bondarenko_max_lab_1/README.md @@ -0,0 +1,33 @@ +# Лабораторная работа 1 - Знакомство с Docker и Docker Compose +### ПИбд-42 || Бондаренко Максим + +# Описание работы + +> Цель +Изучение современных технологий контейнеризации. + +> Задачи +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. Перейти в bondarenko_max_lab_1 (cd ./bondarenko_max_lab_1/) +3. Выполнить в терминале 'docker-compose up' +4. Проверить порты, на которых docker поднял контейнеры + +> Видео демонстрация работы +https://cloud.mail.ru/public/xHc2/JorYr5nDg \ No newline at end of file diff --git a/bondarenko_max_lab_1/docker-compose.yml b/bondarenko_max_lab_1/docker-compose.yml new file mode 100644 index 0000000..bc62afa --- /dev/null +++ b/bondarenko_max_lab_1/docker-compose.yml @@ -0,0 +1,46 @@ +# Версия файла docker-compose, которую мы используем +version: '3.8' + +# Определение сервисов +# Все последующие готовые образы в services будут взяты с Docker Hub -> image: название:версия +# Далее в services будут использоваться переменные окружения из .env -> ${Переменная_среды} +# Схема пробросов портов -> ports: внешний порт на хосте:внутренний порт в контейнере +services: + db: + image: postgres:latest # Готовый образ postgres + environment: + - POSTGRES_DB=${POSTGRES_DB} # Имя БД + - POSTGRES_USER=${POSTGRES_USER} # Пользователь БД + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # Пароль пользователя БД + volumes: + - db_data:/var/lib/postgresql/data # Монтирование volume для постоянного хранения данных БД + + mediawiki: + image: mediawiki:latest # Готовый образ mediawiki + ports: + - "${MEDIAWIKI_PORT}:80" # Проброс порта + volumes: + - mediawiki_data:/var/www/html # Монтирование volume для постоянного хранения данных + environment: + - MEDIAWIKI_DB_HOST=db # Хост БД + - MEDIAWIKI_DB_NAME=${MEDIAWIKI_DB_NAME} # Имя БД для MediaWiki + - MEDIAWIKI_DB_USER=${MEDIAWIKI_DB_USER} # Пользователь БД + - MEDIAWIKI_DB_PASSWORD=${MEDIAWIKI_DB_PASSWORD} # Пароль пользователя БД + + gitea: + image: gitea/gitea:latest # Готовый образ gitea + ports: + - "${GITEA_WEB_PORT}:3000" # Проброс веб-порта + - "${GITEA_SSH_PORT}:22" # Проброс SSH-порта + volumes: + - gitea_data:/data # Монтирование volume для постоянного хранения данных + environment: + - USER_UID=1000 # UID пользователя внутри контейнера + - USER_GID=1000 # GID пользователя внутри контейнера + +# Определение volumes для хранения данных вне контейнеров +volumes: + mediawiki_data: + wordpress_data: + gitea_data: + db_data: