# Лабораторная работа №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 "")