# Лабораторная работа №1. Знакомство с docker и docker-compose ## Задание Развернуть не менее 3 сервисов в контейнерах docker при помощи docker-compose. Требования: + Несколько контейнеров. + Хотя бы один volume. + Хотя бы один порт, проброшенный на хост. + Разворачивание системы должно пройти до конца. ## Запуск работы: Сначала, чтобы программа заработала, нужно ввести в терминале следующую команду: ``` docker-compose up -d ``` ## Описание программы: Зададим основную структуру ```services:```. В этом разделе определяются сервисы, которые будут работать вместе. ### mediawiki ``` mediawiki: image: mediawiki:1.35 ports: - "8080:80" volumes: - ./mediawiki-images:/var/www/html/images ``` Задаем образ сборки и указываем используемую версию: ``` image: mediawiki:1.35 ``` Указываем порт: ``` ports: - "8080:80" ``` Указываем том для хранения данных: ``` volumes: - ./mediawiki-images:/var/www/html/images ``` ### redmine Код для сервиса redmine будет выглядеть аналогично сервису **mediawiki**: ``` redmine: # определение сервиса redmine image: redmine:latest # образ redmine последней версии ports: # проброс порта - "8082:3000" volumes: # настройки тома - ./redmine/files:/usr/src/redmine/files ``` ### wordpress ``` wordpress: image: wordpress:latest ports: - "8081:80" environment: - WORDPRESS_DB_HOST=db_wp - WORDPRESS_DB_USER=admin - WORDPRESS_DB_PASSWORD=admin123 - WORDPRESS_DB_NAME=wpdb volumes: - ./wordpress:/var/www/html depends_on: - db_wp ``` Для сервиса **wordpress** нужно добавить переменные окружения: ``` environment: - WORDPRESS_DB_HOST=db_wp - WORDPRESS_DB_USER=admin - WORDPRESS_DB_PASSWORD=admin123 - WORDPRESS_DB_NAME=wpdb volumes: ``` И зависимости: ``` depends_on: - db_wp ``` И база данных: ``` db_wp: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=rootpassword - MYSQL_DATABASE=wpdb - MYSQL_USER=admin - MYSQL_PASSWORD=admin123 volumes: - db_wp-data:/var/lib/mysql ``` # Скриншоты работы программы: Запуск программы в терминале ![](image_lab_1.png "") # Видеозапись работы программмы https://vkvideo.ru/video186826232_456239552