diff --git a/kamyshov_danila_lab_1/README.md b/kamyshov_danila_lab_1/README.md new file mode 100644 index 0000000..e60ea95 --- /dev/null +++ b/kamyshov_danila_lab_1/README.md @@ -0,0 +1,57 @@ +# Лабораторная работа №1 - Знакомство с docker и docker-compose + +Цель: изучение современных технологий контейнеризации. + +Задачи: + +Установить средство контейнеризации docker. +Изучить применение и принципы docker. +Изучить утилиту docker-compose и структуру файла docker-compose.yml. +Развернуть не менее 3х различных сервисов при помощи docker-compose. +Оформить отчёт в формате Markdown и создать Pull Request в git-репозитории. + +Приложения выполнены на языке Java + +

+

Основной файл запуска
+ +

+

+

docker-compose.yml
+ +

+ +# Объяснение кода docker-compose.yml + +version: '3.9': Указывает на использование версии 3.9 формата Docker Compose. + +services: Определяет различные службы (контейнеры) для разворачивания. + +mediawiki: Запускает контейнер с образом Mediawiki. + +redmine: Запускает контейнер с образом Redmine. + +wordpress: Запускает контейнер с образом WordPress. При этом настроено проброс порта 8081 на порт 80 внутри контейнера. Также создается том (volume) с именем wordpress-data, который подключается к директории /var/www/html/wp-content внутри контейнера. Это позволяет сохранять данные WordPress (например, изображения, плагины) вне контейнера, что обеспечивает их сохранность при перезапуске контейнера. + +volumes: Определяет тома (volumes), которые могут использоваться службами. В данном случае создается том с именем wordpress-data. + +

+

pom.xml
+ +

+

+

Images
+ +

+

+

Containers
+ +

+

+

result
+ +

+ +# Видео + +Видео работы лабораторной работы - https://drive.google.com/file/d/1JZdPE8S2T31gQjuotuwvtCqwx05OM54Y/view?usp=sharing diff --git a/kamyshov_danila_lab_1/docker-compose.yml b/kamyshov_danila_lab_1/docker-compose.yml new file mode 100644 index 0000000..752d439 --- /dev/null +++ b/kamyshov_danila_lab_1/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3.9' + +services: + + mediawiki: + image: mediawiki + + redmine: + image: redmine + + wordpress: + image: wordpress + ports: + - "8081:80" + volumes: + - wordpress-data:/var/www/html/wp-content + +volumes: + wordpress-data: diff --git a/kamyshov_danila_lab_1/screens/img1.png b/kamyshov_danila_lab_1/screens/img1.png new file mode 100644 index 0000000..ed11b0e Binary files /dev/null and b/kamyshov_danila_lab_1/screens/img1.png differ diff --git a/kamyshov_danila_lab_1/screens/img2.png b/kamyshov_danila_lab_1/screens/img2.png new file mode 100644 index 0000000..655a148 Binary files /dev/null and b/kamyshov_danila_lab_1/screens/img2.png differ diff --git a/kamyshov_danila_lab_1/screens/img3.png b/kamyshov_danila_lab_1/screens/img3.png new file mode 100644 index 0000000..56159bf Binary files /dev/null and b/kamyshov_danila_lab_1/screens/img3.png differ diff --git a/kamyshov_danila_lab_1/screens/img4.png b/kamyshov_danila_lab_1/screens/img4.png new file mode 100644 index 0000000..deb12cf Binary files /dev/null and b/kamyshov_danila_lab_1/screens/img4.png differ diff --git a/kamyshov_danila_lab_1/screens/img5.png b/kamyshov_danila_lab_1/screens/img5.png new file mode 100644 index 0000000..11d4195 Binary files /dev/null and b/kamyshov_danila_lab_1/screens/img5.png differ diff --git a/kamyshov_danila_lab_1/screens/img6.png b/kamyshov_danila_lab_1/screens/img6.png new file mode 100644 index 0000000..5735614 Binary files /dev/null and b/kamyshov_danila_lab_1/screens/img6.png differ diff --git a/kamyshov_danila_lab_1/src/main/java/com/example/RViP/RViPApplication.java b/kamyshov_danila_lab_1/src/main/java/com/example/RViP/RViPApplication.java new file mode 100644 index 0000000..300dc2a --- /dev/null +++ b/kamyshov_danila_lab_1/src/main/java/com/example/RViP/RViPApplication.java @@ -0,0 +1,13 @@ +package com.example.RViP; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class RViPApplication { + + public static void main(String[] args) { + SpringApplication.run(RViPApplication.class, args); + } + +}