novopolcev_alexander_lab_1 is ready

This commit is contained in:
Новопольцев Александр 2024-12-04 10:46:19 +04:00
parent bc087de470
commit 2fc7e3e67f
3 changed files with 140 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,88 @@
# Лабораторная работа №1 - Знакомство с docker и docker-compose
## Задание:
1. Установить средство контейнеризации docker.
2. Изучить применение и принципы docker.
3. Изучить утилиту docker-compose и структуру файла docker-compose.yml.
4. Развернуть не менее 3х различных сервисов при помощи docker-compose.
Требования и docker-compose:
* Несколько контейнеров.
* Хотя бы один volume.
* Хотя бы один порт, проброшенный на хост.
## Выполнение работы
Были развернуты 3 сервиса через docker-compose:
Предлагается развернуть не менее 3х сервисов через docker-compose из списка ниже:
1. **redmine**
Система учёта багов, т.е. баг-трекер.
2. **wordpress**
Популярная система управления контентом.
3. **gitea**
Сервис для хранения репозиториев git, на котором работает этот репозиторий.
## Скрин запуска
Панель консоли
![](1.png "")
## Объяснение работы кода:
## 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
Здесь задаются параметры для подключения к базе данных:
WORDPRESS_DB_HOST: адрес базы данных (контейнер с именем db).
WORDPRESS_DB_USER: имя пользователя базы данных.
WORDPRESS_DB_PASSWORD: пароль пользователя базы данных.
WORDPRESS_DB_NAME: имя базы данных.
6. Зависимость от базы данных:
depends_on: db
Указываем, что WordPress зависит от контейнера с базой данных (db), который должен запуститься первым.
Остальные сервисы развернуты по аналогии.
## Видео по ссылку:
https://disk.yandex.ru/i/EVeX-9zD7H4Aog

View File

@ -0,0 +1,52 @@
services:
wordpress:
image: wordpress:latest
container_name: wordpress
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: example_user
WORDPRESS_DB_PASSWORD: example_password
WORDPRESS_DB_NAME: example_db
volumes:
- wordpress_data:/var/www/html
depends_on:
- db
db:
image: mysql:5.7
container_name: wordpress_db
environment:
MYSQL_DATABASE: example_db
MYSQL_USER: example_user
MYSQL_PASSWORD: example_password
MYSQL_ROOT_PASSWORD: root_password
volumes:
- db_data:/var/lib/mysql
redmine:
image: redmine:latest
container_name: redmine
ports:
- "8081:3000"
volumes:
- redmine_data:/data
gitea:
image: gitea/gitea:latest
container_name: gitea
ports:
- "8082:3000"
environment:
- USER_UID=1000
- USER_GID=1000
volumes:
- gitea_data:/data
volumes:
wordpress_data:
db_data:
redmine_data:
gitea_data: