From f769aef5644809ba56674f760a9a5b7b8352eb74 Mon Sep 17 00:00:00 2001 From: Alexey Date: Wed, 10 Sep 2025 07:51:15 +0400 Subject: [PATCH] Added lab 1 --- lab_1.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/lab_1.md b/lab_1.md index 6d0ef78..8f27295 100644 --- a/lab_1.md +++ b/lab_1.md @@ -1 +1,62 @@ -Lab 1 \ No newline at end of file +# Лабораторная работа №1 - Знакомство с docker и docker-compose + +**Цель**: изучение современных технологий контейнеризации. + +**Задачи**: + +1. Установить средство контейнеризации docker. +2. Изучить применение и принципы docker. +3. Изучить утилиту docker-compose и структуру файла docker-compose.yml. +4. Развернуть не менее 3х различных сервисов при помощи docker-compose. +5. Оформить отчёт в формате Markdown и создать Pull Request в git-репозитории. + +## Установка docker + +Для систем с графическим дисплеем рекомендуется устанавливать Docker Desktop, т.к. это средство позволяет максимально легко установить docker с графическим управлением в ОС. + +Если же установка Docker Desktop для Вашей системы не применима, можно установить отдельно docker engine и, например, расширение Docker для Visual Studio Code. + +## Принципы docker + +1. Переменные окружения для запуска приложений. +2. Монтирование директорий в linux и других подобный ОС. +3. Отличие контейнера от виртуальной машины. +4. Что такое образ (image) в docker, и в чём отличие от контейнера (container). +5. Что такое Docker Hub. +6. Что такое раздел/том (volume), и как это помогает обмениваться файлами между контейнерами или с хостом (host). +7. Зачем нужно отображение портов из контейнера в хост. + +## Изучение docker-compose + +В рамках этого пункта необходимо понять, что такое docker-compose и конфигурационный файл _docker-compose.yml_. + +Также в этом разделе изучите формат записи YAML, т.к. это **сильно** поможет в будущем. + +## Разворачивание сервисов + +Предлагается развернуть не менее 3х сервисов через docker-compose из списка ниже: + +1. **mediawiki** + Движок вики. +2. **redmine** + Система учёта багов, т.е. баг-трекер. +3. **wordpress** + Популярная система управления контентом. +4. **drupal** + Ещё одна популярная система управления контентом. +5. **moodle** + Система для обучения, на которой построена . +6. **gitea** + Сервис для хранения репозиториев git, на котором работает этот репозиторий. + +> Можно вбить в поисковый движок фразу "%service_name% docker-compose", и вы удивитесь, что, скорее всего, найдёте ответ. + +Требования и docker-compose: + +* Несколько контейнеров. +* Хотя бы один volume. +* Хотя бы один порт, проброшенный на хост. + +При этом разворачивание системы должно пройти до конца. +Например, должен быть создан администратор и система должна корректно функционировать. +Это необходимо будет предоставить в отчёте, поэтому не забывайте делать скриншоты. \ No newline at end of file