# Лабораторная работа №1 - Знакомство с docker и docker-compose ## Задание Нужно развернуть 3 сервиса в контейнерах docker через docker-compose. Необходимые требования: * Несколько контейнеров. * Хотя бы один volume. * Хотя бы один порт, проброшенный на хост. * Разворачивание системы должно пройти до конца. ## Запуск ЛР: Введем в терминале команду: ``` docker-compose up -d ``` ## Использованные сервисы:  1. ```db``` - база данные MySQL  2. ```redmine``` - Система учёта багов, т.е. баг-трекер.  3. ```gitea``` - Сервис для хранения репозиториев git, на котором работает этот репозиторий.  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 ``` gitea: image: gitea/gitea:latest container_name: gitea ports: - "8082:3000" environment: - USER_UID=1000 - USER_GID=1000 volumes: - gitea_data:/data ``` # Скрины работы программы: Панель консоли ![](lab_1.png "") # Видео https://disk.yandex.ru/i/H4_tFURvpQuqQA