# Лабораторная работа №1 - Знакомство с docker и docker-compose ## Задание Разверните 3 сервиса на выбор в контейнерах docker с помощью docker-compose, учитывая следующие требования: * Несколько контейнеров. * Хотя бы один volume. * Хотя бы один порт, проброшенный на хост. * Разворачивание системы должно пройти до конца. ## Запуск Введение в терминале команды: ``` docker-compose up -d ``` # Выбранные сервисы 1. ```db``` - самая новая версия БД MaraiDB 2. ```phpmyadmin``` - система управления базой данных 3. ```mediawiki``` - движок вики 4. ```wordpress``` - платформа для управления контентом ## Описание работы: Были развёрнуты следующие сервисы: ### phpmyadmin ``` phpmyadmin: depends_on: - db image: phpmyadmin hostname: php_my_admin container_name: php_my_admin volumes: # см. конец файла - php_my_admin_data:/var/www/html ports: - 8080:80 restart: always environment: PMA_ARBITRARY: 1 TZ: "Europe/Moscow" PMA_HOST: ${DB_HOST} PMA_USER : ${DB_USER} PMA_PASSWORD : ${DB_PASSWORD} ``` Этот код представляет собой часть файла конфигурации ```Docker Compose```, который используется для управления многоконтейнерными приложениями в Docker. #### Объяснение работы кода: Эта строка отвечает за образ сброки: ``` image: phpmyadmin ``` Задание имени контейнера: ``` container_name: php_my_admin ``` Проброс портов: ``` ports: - 8080:80 ``` Тома для хранения данных: ``` volumes: - .php_my_admin_data:/var/www/html ``` Переменные окружения для Drupal ``` environment: PMA_ARBITRARY: 1 TZ: "Europe/Moscow" PMA_HOST: ${DB_HOST} PMA_USER : ${DB_USER} PMA_PASSWORD : ${DB_PASSWORD} ``` Аналогично со другими сервисами: ### mediawiki ``` image: mediawiki:latest # образ MediaWiki container_name: mediawiki_app volumes: # см. конец файла - ./mediawiki_data:/var/www/html/mediawiki ports: - "8088:80" restart: always ``` ### Wordpress ``` depends_on: - db image: wordpress:latest hostname: wp_app container_name: wp_app volumes: # см. конец файла - wordpress_data:/var/www/html ports: - "8000:80" restart: always user: www-data environment: # секция настроек для подключения wordpress к БД TZ: "Europe/Moscow" WORDPRESS_DB_HOST: ${DB_HOST} WORDPRESS_DB_USER: ${DB_USER} WORDPRESS_DB_PASSWORD: ${DB_PASSWORD} WORDPRESS_DB_NAME: ${DB_NAME} ``` # Скриншот работы Панель консоли ![](1.png "") # ВК https://vk.com/video256017065_456239870?list=ln-qWUdZke5z53x940ZHv