# Лабораторная работа №1 - Знакомство с docker и docker-compose
**Цель**: изучение современных технологий контейнеризации.

**Задачи**:
* Установить средство контейнеризации docker.
* Изучить применение и принципы docker.
* Изучить утилиту docker-compose и структуру файла docker-compose.yml.
* Развернуть не менее 3х различных сервисов при помощи docker-compose.
* Оформить отчёт в формате Markdown и создать Pull Request в git-репозитории.
***
## *Ход работы:*
### Разворачивание сервисов
Были выбраны три сервиса:
* mediawiki - движок вики.
* redmine - система учёта багов, т.е. баг-трекер.
* wordpress - популярная система управления контентом.
### docker-compose.yml
Был создан файл docker-compose.yml для разворачивания сервисов:
```
version: "3" #формат конфигурации Docker Compose версии 3
services: #определение сервисов
  mediawiki:
    image: mediawiki #образ для контейнера
    ports:
      - "8086:80" #проброс порта 8086 хоста на порт 80 контейнера
    volumes:
      - volume-mediawiki:/var/log/mediawiki #том для хранения логов MediaWiki вне контейнера

  redmine:
    image: redmine #образ для контейнера
    ports:
      - "8087:3000" #проброс порта 8087 хоста на порт 3000 контейнера
    volumes:
      - volume-redmine:/usr/src/redmine/log #том для хранения логов Redmine вне контейнера
  
  wordpress:
    image: wordpress #образ для контейнера
    ports:
      - "8088:80" #проброс порта 8088 хоста на порт 80 контейнера
    volumes:
      - volume-wordpress:/var/log/php #том для хранения логов PHP WordPress вне контейнера

volumes: #определение томов
  volume-mediawiki:
  volume-redmine:
  volume-wordpress:
```
### docker-compose up -d
Создание контейнеров
![](images/docker-compose-up.jpg "")
### Dockerhub
![](images/container-dockerhub.jpg "")
***
## *Результат:*
http://localhost:8086/
![](images/mediawiki.jpg "")
http://localhost:8087/
![](images/redmine.jpg "")
http://localhost:8088/
![](images/wordpress.jpg "")