# Отчёт по лабораторной работе №1

Выполнил: студент гр. ИСЭбд-41 Мутрисков Д.С. 

## Разворачивание сервиса WordPress

Содержимое файла `docker-compose.yml` в папке Wordpress:

```yaml
version: '3.1'
#Задаем контейнеры
services:
#Контейнер Wordpress
  wordpress:
    image: wordpress #образ 
    restart: always
    ports: #Порт, на котором запускаем
      - 8080:80
    environment: #настройки БД вордпресса для подключения к серверу
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: user
      WORDPRESS_DB_PASSWORD: userpass
      WORDPRESS_DB_NAME: mydb
    volumes: #Каталог хранения файлов сервиса
      - wordpress:/var/www/html
  
  #Контейнер MySQL
  db:
    image: mysql:5.7 #Образ и его версия через ':'
    restart: always
    environment: #Настройка БД для подключения
      MYSQL_DATABASE: mydb
      MYSQL_USER: user
      MYSQL_PASSWORD: userpass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes: #Каталог хранения данных БД
      - db:/var/lib/mysql

#Каталоги в контейнере
volumes: 
  wordpress:
  db:
```
Далее в командной строке разворачиваем сервис командой `docker-compose up`:
![](images/cmd_docker-compose_WorpPress.png)

Открываем Docker Desktop и проверяем, что контейнер сервера базы данных и MediaWiki созданы и запущены:
![](images/docker_container_Wordpress.png)

Переходим на http://localhost:8080:
![](images/example_wordpress.png)

Видим что сервис работает

## Разворачивание сервиса Redmine

Содержимое файла `docker-compose.yml` в папке Redmine:

```yaml
version: '3.1'
#Контейнеры
services:
  #Контейнер redmine
  redmine:
    image: redmine #Образ
    restart: always
    ports:
      - 8080:3000
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: example
      REDMINE_SECRET_KEY_BASE: supersecretkey
  #Контейнер БД
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: redmine
```
Далее в командной строке разворачиваем сервис командой `docker-compose -f docker-compose.yml up`:
![](images/cmd_docker-compose_Redmine.png)

В Docker Desktop проверяем, что сервис работает:
![](images/docker_container_Redmine.png)

Переходим на http://localhost:8080:
![](images/example_redmine.png)

Видим что сервис работает

## Разворачивание сервиса mediawiki

Содержимое файла `docker-compose.yml` в папке mediawiki:

```yaml
version: '3'
#Контейнеры
services:
  #Контейнер mediawiki
  mediawiki:
    image: mediawiki #Образ
    restart: always
    ports:
      - 8080: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:
```
Далее в командной строке разворачиваем сервис командой `docker-compose -f docker-compose.yml up`:
![](images/cdm_docker-compose_MediaWiki.png)

В Docker Desktop проверяем, что работают все три развернутых сервиса:
![](images/docker_container_MediaWiki.png)

Переходим на http://localhost:8080:
![](images/example_mediawiki.png)

Устанавливаем сервис
![](images/install_mediawiki.png)

Подключаемся к БД
![](images/install_mediawiki1.png)
И получаем ответ, что мы не можем этого сделать без подтверждения учетной записи админом.

Убеждаемся что сервис работает:
![](images/install_mediawiki2.png)