# Отчёт по лабораторной работе №1
Выполнил: студентка гр. ИСЭбд-41 Никифорова Татьяна Сергеевна.

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

![](/photo/photo7.png)

Содержимое файла docker-compose.yml:
```yam
version: '3'
services:
  mediawiki:
    image: mediawiki  # Используемый образ Mediawiki
    restart: always  # Всегда перезапускать контейнер при остановке
    ports:
      - 8080:80  # Проброс портов: внешний порт 8080 к внутреннему порту 80 контейнера
    links:
      - database  # Связь с сервисом "database"
    volumes:
      - images:/var/www/html/images  # Монтирование тома для хранения изображений
      - ./LocalSettings.php:/var/www/html/LocalSettings.php  # Монтирование файла конфигурации LocalSettings.php
  database:
    image: mariadb  # Используемый образ MariaDB
    restart: always  # Всегда перезапускать контейнер при остановке
    environment:
      MYSQL_DATABASE: my_wiki  # Имя базы данных MariaDB
      MYSQL_USER: wikiuser  # Имя пользователя базы данных MariaDB
      MYSQL_PASSWORD: example  # Пароль пользователя базы данных MariaDB
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'  # Генерировать случайный пароль для root пользователя MariaDB
    volumes:
      - db:/var/lib/mysql  # Монтирование тома для хранения данных базы данных MariaDB
volumes:
  images:  # Определение тома "images" для хранения изображений Mediawiki
  db:  # Определение тома "db" для хранения данных базы данных MariaDB
```
Разворачивается командой docker-compose up. 


![](/photo/photo1.jpg)
![](/photo/photo2.jpg)
![](/photo/photo3.jpg)

## Разворачивание сервера wordpress
```yam
version: '3'
services:
  wordpress:
    image: wordpress  # Используемый образ Docker для WordPress
    container_name: wordpress  # Имя контейнера WordPress
    ports:
      - '8081:80'  # Проброс портов: внешний порт 8081 к внутреннему порту 80 контейнера
    environment:
      WORDPRESS_DB_HOST: mysql  # Имя хоста базы данных MySQL
      WORDPRESS_DB_USER: wp_user  # Имя пользователя базы данных WordPress
      WORDPRESS_DB_PASSWORD: wp_password  # Пароль пользователя базы данных WordPress
      WORDPRESS_DB_NAME: wp_database  # Имя базы данных WordPress
    volumes:
      - wordpress_data:/var/www/html  # Монтирование тома для хранения данных WordPress
    networks:
      - wordpress-network  # Использование сети "wordpress-network" для связи

  mysql:
    image: mysql:5.7  # Используемый образ Docker для MySQL
    container_name: mysql  # Имя контейнера MySQL
    environment:
      MYSQL_ROOT_PASSWORD: root_password  # Пароль для root пользователя MySQL
      MYSQL_DATABASE: wp_database  # Имя базы данных MySQL
      MYSQL_USER: wp_user  # Имя пользователя MySQL для WordPress
      MYSQL_PASSWORD: wp_password  # Пароль пользователя MySQL для WordPress
    volumes:
      - mysql_data:/var/lib/mysql  # Монтирование тома для хранения данных MySQL
    networks:
      - wordpress-network  # Использование сети "wordpress-network" для связи
networks:
  wordpress-network:  # Определение сети "wordpress-network" для связи между контейнерами
volumes:
  wordpress_data:  # Определение тома данных "wordpress_data" для хранения данных WordPress
  mysql_data:  # Определение тома данных "mysql_data" для хранения данных MySQL
```
![](/photo/photo4.jpg)

## Разворачивание сервера redmine
Содержимое файла docker-compose.yml:
```yam
version: '2'
services:
  mariadb:  # Определение сервиса MariaDB
    image: docker.io/bitnami/mariadb:11.0  # Используемый образ MariaDB
    volumes:
      - 'mariadb_data:/bitnami/mariadb'  # Монтирование тома для данных MariaDB
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes  # Разрешение использовать пустой пароль (рекомендуется только для разработки).
      - MARIADB_USER=bn_redmine  # Имя пользователя базы данных MariaDB
      - MARIADB_DATABASE=bitnami_redmine  # Имя базы данных MariaDB

  redmine:  # Определение сервиса Redmine
    image: docker.io/bitnami/redmine:5  # Используемый образ Redmine
    ports:
      - '3000:3000'  # Проброс портов: внешний порт 3000 к внутреннему порту 3000
    volumes:
      - 'redmine_data:/bitnami/redmine'  # Монтирование тома для данных Redmine
    depends_on:
      - mariadb  # Зависимость от сервиса MariaDB (Redmine будет запущен только после MariaDB)
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes  # Разрешение использовать пустой пароль (рекомендуется только для разработки).
      - REDMINE_DATABASE_HOST=mariadb  # Имя хоста базы данных MariaDB
      - REDMINE_DATABASE_PORT_NUMBER=3306  # Порт базы данных MariaDB
      - REDMINE_DATABASE_USER=bn_redmine  # Имя пользователя базы данных Redmine
      - REDMINE_DATABASE_NAME=bitnami_redmine  # Имя базы данных Redmine
volumes:
  mariadb_data:  # Определение тома mariadb_data
    driver: local  # Использование локального драйвера для хранения данных на хосте
  redmine_data:  # Определение тома redmine_data
    driver: local  # Использование локального драйвера для хранения данных на хосте
```

![](/photo/photo6.jpg)
![](/photo/photo5.phg)




