diff --git a/.vs/DAS_2024_1/v17/.wsuo b/.vs/DAS_2024_1/v17/.wsuo new file mode 100644 index 0000000..4a7f38b Binary files /dev/null and b/.vs/DAS_2024_1/v17/.wsuo differ diff --git a/.vs/DAS_2024_1/v17/DocumentLayout.json b/.vs/DAS_2024_1/v17/DocumentLayout.json new file mode 100644 index 0000000..a88fe75 --- /dev/null +++ b/.vs/DAS_2024_1/v17/DocumentLayout.json @@ -0,0 +1,43 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\aleyc\\source\\repos\\DAS_2024_1\\", + "Documents": [], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 312, + "SelectedChildIndex": -1, + "Children": [ + { + "$type": "Bookmark", + "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" + }, + { + "$type": "Bookmark", + "Name": "ST:23:0:{d212f56b-c48a-434c-a121-1c5d80b59b9f}" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{e1b7d1f8-9b3c-49b1-8f4f-bfc63a88835d}" + }, + { + "$type": "Bookmark", + "Name": "ST:22:0:{d212f56b-c48a-434c-a121-1c5d80b59b9f}" + }, + { + "$type": "Bookmark", + "Name": "ST:28:0:{d212f56b-c48a-434c-a121-1c5d80b59b9f}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..6b61141 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/aleikin_artem_lab_1/README.md b/aleikin_artem_lab_1/README.md new file mode 100644 index 0000000..3d364ec --- /dev/null +++ b/aleikin_artem_lab_1/README.md @@ -0,0 +1,32 @@ +# Лабораторная работа 1 - Знакомство с Docker и Docker Compose +## ПИбд-42 || Алейкин Артем + +### Описание +В данной лабораторной работе мы разворачиваем три популярных сервиса — MediaWiki и Redmine — с использованием Docker Compose. Каждый сервис работает в своем контейнере и использует общую базу данных PostgreSQL для хранения данных. Мы также настраиваем проброс портов для доступа к веб-интерфейсам сервисов и используем Docker volumes для сохранения данных вне контейнеров. + +### Цель проекта +изучение современных технологий контейнеризации + +### Шаги для запуска: +1. Клонирование репозитория: +``` +git clone <ссылка-на-репозиторий> +cd <папка репозитория> +``` + +2. Запуск контейнеров: +``` +docker-compose up -d +``` + +3. После запуска должны быть доступны следующие контейнеры: + + MediaWiki: http://localhost:8080 + Redmine: http://localhost:8081 + +4. Чтобы остановить контейнеры: +``` +docker-compose down +``` + +Видео демонстрации работы: https://vk.com/video248424990_456239601?list=ln-sCRa9IIiV1VpInn2d1 \ No newline at end of file diff --git a/aleikin_artem_lab_1/docker-compose.yml b/aleikin_artem_lab_1/docker-compose.yml new file mode 100644 index 0000000..837a008 --- /dev/null +++ b/aleikin_artem_lab_1/docker-compose.yml @@ -0,0 +1,45 @@ +services: + mediawiki: + image: mediawiki + container_name: mediawiki + ports: + - "8080:80" # Пробрасываем порт 8080 на хост для доступа к MediaWiki + volumes: + - mediawiki_data:/var/www/html/images # Создаем volume для хранения данных MediaWiki + environment: + - MEDIAWIKI_DB_HOST=db + - MEDIAWIKI_DB_NAME=mediawiki + - MEDIAWIKI_DB_USER=root + - MEDIAWIKI_DB_PASSWORD=example + depends_on: + - db + + redmine: + image: redmine + container_name: redmine + ports: + - "8081:3000" # Пробрасываем порт 8081 на хост для доступа к Redmine + volumes: + - redmine_data:/usr/src/redmine/files # Создаем volume для хранения данных Redmine + environment: + - REDMINE_DB_POSTGRESQL=db + - REDMINE_DB_DATABASE=redmine + - REDMINE_DB_USERNAME=root + - REDMINE_DB_PASSWORD=example + depends_on: + - db + + db: + image: postgres:latest + container_name: db + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: example + POSTGRES_DB: postgres + volumes: + - db_data:/var/lib/postgresql # Volume для базы данных + +volumes: + mediawiki_data: # volume для MediaWiki + redmine_data: # volume для Redmine + db_data: # volume для базы данных