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

Выполнила: студентка гр. ИСЭбд-41 Плаксина Александра.

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

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

```yaml
version: '3.1'

services: # перечень создаваемых контейнеров 

  redmine:
    image: redmine #название образа, на основе которого создается контейнер
    restart: always # настройка, которая указывает, что должна делать программа, если образ перестанет работать (другой вариант - no)
    ports: # на локальной машине используется порт 8000 и подключаемся к порту 3000 контейнера
      - 8080:3000 
    volumes: #  засчет томов можно сохранять различные новые настройки контейнера не только на локальной машине, но и удаленно на сервере
      - .:/usr/src/app
    environment: # различные настройки, которые могут понадобиться при работе с самим образом
      REDMINE_DB_MYSQL: db # позволяет установить имя хоста (если не задано, то по умолчанию - SQLite)
      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 up`.

Убеждаемся, что всё работает:

![](redmine_1.jpg)
![](redmine_2.jpg)

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

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

```yaml
version: '3'

services:
  mediawiki:
    image: mediawiki
    restart: always
    ports:
      - 8000: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 up`.

Убеждаемся, что всё работает:

![](mediawiki_1.jpg)

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

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

```yaml
version: '3.1'

services:

  drupal:
    image: drupal:8-apache
    ports:
      - 8800:80
    volumes:
      - /var/www/html/modules
      - /var/www/html/profiles
      - /var/www/html/themes
      - /var/www/html/sites
    restart: always

  postgres:
    image: postgres:10
    environment:
      POSTGRES_PASSWORD: example
    restart: always
  ```

  Разворачивается командой `docker-compose up`.

Убеждаемся, что всё работает:

![](drupal_1.jpg)

![](drupal_2.jpg)
