DAS_2024_1/agliullov_daniyar_lab_1/readme.md
2024-11-14 21:39:53 +04:00

126 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

▎Лабораторная работа №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)