DAS_2024_1/haliullov_kamil_lab_1/README.md
2024-11-24 19:09:55 +04:00

140 lines
3.9 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
## Задание
Нужно развернуть 3 сервиса в контейнерах docker через docker-compose.
Необходимые требования:
* Несколько контейнеров.
* Хотя бы один volume.
* Хотя бы один порт, проброшенный на хост.
* Разворачивание системы должно пройти до конца.
## Запуск ЛР:
Введем в терминале команду:
```
docker-compose up -d
```
## Использованные сервисы:
 1. ```db``` - база данные MySQL
 2. ```redmine``` - Система учёта багов, т.е. баг-трекер.
 3. ```gitea``` - Сервис для хранения репозиториев git, на котором работает этот репозиторий.
 4. ```wordpress``` - платформа для управления контентом
## Описание программы:
Развернутые сервисы:
### wordpress
```
wordpress: # Определение сервиса WordPress
image: wordpress:latest # Используемый образ WordPress последней версии
containername: wp_app # Имя контейнера
restart: always
ports: # Настройка портов
- "8000:80"
environment: # Переменные окружения
WORDPRESSDBHOST: ${DBHOST}
WORDPRESSDBUSER: ${DBUSER}
WORDPRESSDBPASSWORD: ${DBPASSWORD}
WORDPRESSDBNAME: ${DBNAME}
WORDPRESSADMINUSER: admin
WORDPRESSADMINPASSWORD: adminpassword
WORDPRESSADMINEMAIL: admin@example.com
volumes: # Настройка томов
- wordpress_data:/var/www/html
dependson: # Зависимости
- db_wordpress # Зависит от сервиса MySQL
```
Эта строка отвечает за образ сброки:
```
image: wordpress:latest
```
Задание имени контейнера:
```
containername: wp_app
```
Проброс портов:
```
ports:
- 8000:80
```
Тома для хранения данных:
```
volumes:
- wordpress_data:/var/www/html
```
Переменные окружения
```
environment:
WORDPRESSDBHOST: ${DBHOST}
WORDPRESSDBUSER: ${DBUSER}
WORDPRESSDBPASSWORD: ${DBPASSWORD}
WORDPRESSDBNAME: ${DBNAME}
WORDPRESSADMINUSER: admin
WORDPRESSADMINPASSWORD: adminpassword
WORDPRESSADMINEMAIL: admin@example.com
```
Зависимости
```
dependson:
- db_wordpress
```
Аналогично со другими сервисами:
### mediawiki
```
mediawiki: # Определение сервиса MediaWiki
image: mediawiki:1.35 # Используемый образ MediaWiki версии 1.35
ports: # Настройка портов
- "8080:80"
containername: mediawiki # Имя контейнера
volumes: # Настройка томов
- mediawiki_data:/var/www/html/images mediawiki: # Определение сервиса MediaWiki
image: mediawiki:1.35 # Используемый образ MediaWiki версии 1.35
ports: # Настройка портов
- "8080:80"
containername: mediawiki # Имя контейнера
volumes: # Настройка томов
- mediawiki_data:/var/www/html/images
```
### redmine
```
gitea:
image: gitea/gitea:latest
container_name: gitea
ports:
- "8082:3000"
environment:
- USER_UID=1000
- USER_GID=1000
volumes:
- gitea_data:/data
```
# Скрины работы программы:
Панель консоли
![](lab_1.png "")
# Видео
https://disk.yandex.ru/i/H4_tFURvpQuqQA