# Лабораторная работа №1 - Знакомство с docker и docker-compose

Цель: изучение современных технологий контейнеризации.

Задачи:

Установить средство контейнеризации docker.
Изучить применение и принципы docker.
Изучить утилиту docker-compose и структуру файла docker-compose.yml.
Развернуть не менее 3х различных сервисов при помощи docker-compose.
Оформить отчёт в формате Markdown и создать Pull Request в git-репозитории.

Приложения выполнены на языке Java 

<p>
    <div>Основной файл запуска</div>
    <img src="screens/img1.png" width="650" title="Основной файл запуска">
</p>
<p>
    <div>docker-compose.yml</div>
    <img src="screens/img2.png" width="650" title="docker-compose.yml">
</p>

# Объяснение кода 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.

<p>
    <div>pom.xml</div>
    <img src="screens/img3.png" width="650" title="pom.xml">
</p>
<p>
    <div>Images</div>
    <img src="screens/img4.png" width="650" title="Images">
</p>
<p>
    <div>Containers</div>
    <img src="screens/img5.png" width="650" title="Containers">
</p>
<p>
    <div>result</div>
    <img src="screens/img6.png" width="650" title="result">
</p>

# Видео

Видео работы лабораторной работы - https://drive.google.com/file/d/1JZdPE8S2T31gQjuotuwvtCqwx05OM54Y/view?usp=sharing