# Отчет по лабораторной работе №1 ### Сервис Redmine #### Система учета багов, т.е. баг-трекер **Код docker-compose.yml:** `version: '3.1' #версия` `services: #разворачивание сервисов` `redmine:` `image: redmine #образ, с помощью которого разворачивается контейнер` `restart: always` `ports:` ` - 8080:3000 #указываем порт хоста и виртуалки` `environment: #настройка переменных окружения` `REDMINE_DB_MYSQL: db #подключение и вызов к другому контейнеру (db)` `REDMINE_DB_PASSWORD: example #пароль` `REDMINE_SECRET_KEY_BASE: supersecretkey` `db: #название хоста, с помощью которого подключается к другому контейнеру (redmine)` `image: mysql:5.7` `restart: always` `environment: #настройка переменных окржения` `MYSQL_ROOT_PASSWORD: example #пароль` `MYSQL_DATABASE: redmine #название БД` **Принцип работы:** Определяются volume, которые находятся в образе "image: redmine" контейнера "redmine". Контейнер "redmine" запускается из образа "image: redmine" из Docker Hub. В "ports" указывается локальный хост 8080 и хост виртуальной машины 3000. Настройка переменных окружения настривается в "environment": -Название БД и вызов другого контейнера с названием db -Используемый пароль при подключении к БД -БД, которую Redmine будет использовать на указанном сервере -Переменная REDMINE_SECRET_KEY_BASE для поддержания сеансовых соединений Второй котнейнер "db" подключается к контейнеру "redmine" с помощью названия хоста в настройке переменных окружения. В контейнере "db" также в "environment" настраиваются переменные окружения. Скришот работы сервиса redmine: ![Alt text](images/image-1.png) ### Сервис Wordpress #### Популярная система управления контентом. **Код docker-compose.yml:** `db:` `image: mariadb:10.6.4-focal #образ, с помощью которого разворачивается контейнер` `command: '--default-authentication-plugin=mysql_native_password'` `volumes:` `- db_data:/var/lib/mysql` `restart: always` `environment: #настройка переменных окружения` `- MYSQL_ROOT_PASSWORD=somewordpress` `- MYSQL_DATABASE=wordpress` `- MYSQL_USER=wordpress` `- MYSQL_PASSWORD=wordpress` `expose: #описание сетевых портов` `- 3306` `- 33060` `wordpress: #название хоста, который подключается к другому контейнеру` `image: wordpress:latest` `volumes:` `- wp_data:/var/www/html` `ports: #порт хоста и виртуалки` `- 80:80` `restart: always` `environment: #настройка переменных окржуения` `- WORDPRESS_DB_HOST=db` `- WORDPRESS_DB_USER=wordpress` `- WORDPRESS_DB_PASSWORD=wordpress` `- WORDPRESS_DB_NAME=wordpress` `volumes: #описание вольюмов` `db_data:` `wp_data:` **Принцип работы:** Определяются volumes, которые находятся в образах "image: wordpress:latest" и "image: mariadb:10.6.4-focal". В "ports" указывается локальный хост 80 и хост виртуальной машины 80. Настройка переменных окружения настривается в "environment": -Название БД -Используемый пароль при подключении к БД -БД, которую Redmine будет использовать на указанном сервере -Описание сетевых портов expose, которые будут прослушиваться в запущенном контейнере (3306, 33060) Скришот работы сервиса wordpress: Выбираем язык: ![Alt text](images/image-2.png) Заполняем нужную информацию (название сайта, имя пользователя, пароль, адрес электронной почты): ![Alt text](images/image-3.png) После регистрации открывается следующее окно: ![Alt text](images/image-4.png) Далее проходим авторизацию и наслаждемся работой в WordPress: ![Alt text](images/image-5.png) ### Сервис MediaWiki #### Движок вики. **Код docker-compose.yml:** `version: '3'` `services:` `mediawiki:` `image: mediawiki #образ, с помощью которого разворачивается контейнер mediawiki` `restart: always` `ports: #порт хоста и виртуалки` `- 80:80` `links: #зависимости от других сервисов` `- database` `volumes:` `- images:/var/www/html/images` `database:` `image: mariadb #образ, с помощью которого разворачивается БД` `restart: always` `environment: #настройка переменных окржения` `MYSQL_DATABASE: my_wiki` `MYSQL_USER: wikiuser` `MYSQL_PASSWORD: example` `MYSQL_RANDOM_ROOT_PASSWORD: 'yes'` `volumes:` `- db:/var/lib/mysql` `volumes: #описание вольюмов` `images:` `db:` **Принцип работы:** Скачиваем образ image: mediawiki, с помощью которого разворачивается контейнер mediawiki В "ports" указывается локальный хост 80 и хост виртуальной машины 80 С помощью настройки links указываем зависимости от других сервисов Образ image: mariadb разворачивает контейнер database с БД Настройка переменных окружения настривается в "environment": -Название БД -Пользователь MediaWiki -Используемый пароль при подключении к БД Скришот работы сервиса wordpress: ![Alt text](images/image-6.png) Подключение к БД: ![Alt text](images/image-8.png) Запускаем MediaWiki: ![Alt text](images/image-9.png)