▎Лабораторная работа №1 - Знакомство с Docker и Docker Compose Цель: Изучение современных технологий контейнеризации. ▎Задачи: 1. Установить Docker. 2. Изучить применение и принципы работы Docker. 3. Изучить утилиту Docker Compose и структуру файла docker-compose.yml. 4. Развернуть не менее трех различных сервисов с помощью Docker Compose. ▎Разворачивание сервисов Необходимо развернуть минимум три сервиса из предложенного списка: 1. Redmine - система учета багов (баг-трекер). 2. WordPress - популярная система управления контентом. 3. Gitea - сервис для хранения git-репозиториев. ▎Требования к Docker Compose: • Несколько контейнеров. • Хотя бы один volume. • Хотя бы один проброшенный порт на хост. Система должна быть развернута полностью, включая создание администратора и корректное функционирование, что будет подтверждено скриншотами. ▎Ход работы 1. Установил Docker Desktop на Windows. 2. Проверил установку с помощью команды docker --version. 3. Развернул сервисы (описаны ниже). ▎Объяснение работы кода: ▎WordPress: 1. Образ сборки: image: wordpress:latest - используется последний официальный образ WordPress. 2. Имя контейнера: container_name: wordpress - имя контейнера устанавливается как wordpress. 3. Проброс портов: Порт 80 контейнера пробрасывается на порт 8080 хоста. 4. Тома для хранения данных: volumes: - wordpress_data:/var/www/html Том wordpress_data монтируется в директорию /var/www/html контейнера для хранения данных WordPress. 5. Переменные окружения для WordPress: environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: example_user WORDPRESS_DB_PASSWORD: example_password WORDPRESS_DB_NAME: example_db Параметры для подключения к базе данных. 6. Зависимость от базы данных: depends_on: db - указывает, что WordPress зависит от контейнера базы данных (db). ▎Redmine: 1. Образ сборки: image: redmine:latest - используется последний официальный образ Redmine. 2. Имя контейнера: container_name: redmine - имя контейнера устанавливается как redmine. 3. Проброс портов: ports:"8081:3000" - порт 3000 контейнера пробрасывается на порт 8081 хоста. 4. Переменные окружения для Redmine: environment: REDMINE_DB_MYSQL: redmine_db REDMINE_DB_USERNAME: redmine_user REDMINE_DB_PASSWORD: redmine_password Параметры для подключения к базе данных. 5. Зависимость от базы данных: depends_on: - redmine_db - Redmine зависит от контейнера с базой данных. ▎Gitea: 1. Образ сборки: image: gitea/gitea:latest - используется последний официальный образ Gitea. 2. Имя контейнера: container_name: gitea - имя контейнера устанавливается как gitea. 3. Проброс портов: ports:"8082:3000" - порт 3000 контейнера пробрасывается на порт 8082 хоста. 4. Тома для хранения данных: volumes: - gitea_data:/data [Видео](https://disk.yandex.ru/d/JFWkukJKwbfhIw)