# Лабораторная работа №1 - Знакомство с docker и docker-compose ## Задание Нужно развернуть 3 сервиса в контейнерах docker через docker-compose. Необходимые требования: * Несколько контейнеров. * Хотя бы один volume. * Хотя бы один порт, проброшенный на хост. * Разворачивание системы должно пройти до конца. ## Запуск ЛР: Введем в терминале команду: ``` docker-compose up -d ``` ## Использованные сервисы: 1. ```db``` - база данные MySQL 2. ```redmine``` - Система учёта багов, т.е. баг-трекер. 3. ```mediawiki``` - движок вики 4. ```wordpress``` - платформа для управления контентом ## Описание программы: Развернутые сервисы: ### wordpress ``` wordpress: # Определение сервиса WordPress image: wordpress:latest # Используемый образ WordPress последней версии containername: wp_app # Имя контейнера restart: always ports: # Настройка портов - "8000:80" environment: # Переменные окружения WORDPRESSDBHOST: ${DBHOST} WORDPRESSDBUSER: ${DBUSER} WORDPRESSDBPASSWORD: ${DBPASSWORD} WORDPRESSDBNAME: ${DBNAME} WORDPRESSADMINUSER: admin WORDPRESSADMINPASSWORD: adminpassword WORDPRESSADMINEMAIL: admin@example.com volumes: # Настройка томов - wordpress_data:/var/www/html dependson: # Зависимости - db_wordpress # Зависит от сервиса MySQL ``` Эта строка отвечает за образ сброки: ``` image: wordpress:latest ``` Задание имени контейнера: ``` containername: wp_app ``` Проброс портов: ``` ports: - 8000:80 ``` Тома для хранения данных: ``` volumes: - wordpress_data:/var/www/html ``` Переменные окружения ``` environment: WORDPRESSDBHOST: ${DBHOST} WORDPRESSDBUSER: ${DBUSER} WORDPRESSDBPASSWORD: ${DBPASSWORD} WORDPRESSDBNAME: ${DBNAME} WORDPRESSADMINUSER: admin WORDPRESSADMINPASSWORD: adminpassword WORDPRESSADMINEMAIL: admin@example.com ``` Зависимости ``` dependson: - db_wordpress ``` Аналогично со другими сервисами: ### mediawiki ``` mediawiki: # Определение сервиса MediaWiki image: mediawiki:1.35 # Используемый образ MediaWiki версии 1.35 ports: # Настройка портов - "8080:80" containername: mediawiki # Имя контейнера volumes: # Настройка томов - mediawiki_data:/var/www/html/images mediawiki: # Определение сервиса MediaWiki image: mediawiki:1.35 # Используемый образ MediaWiki версии 1.35 ports: # Настройка портов - "8080:80" containername: mediawiki # Имя контейнера volumes: # Настройка томов - mediawiki_data:/var/www/html/images ``` ### redmine ``` redmine: # Определение сервиса Redmine image: redmine:latest # Используемый образ Redmine последней версии containername: redmine # Имя контейнера ports: # Настройка портов - "3000:3000" volumes: # Настройка томов - redmine_data:/usr/src/redmine/files ``` # Скрины работы программы: Панель консоли ![](lab_1.png "") # Видео https://vk.com/video230744264_456239102