# Лабораторная работа №1 - Знакомство с docker и docker-compose ## Задание Разверните 3 сервиса на выбор в контейнерах docker с помощью docker-compose, учитывая следующие требования: * Несколько контейнеров. * Хотя бы один volume. * Хотя бы один порт, проброшенный на хост. * Разворачивание системы должно пройти до конца. ## Запуск Введение в терминале команды: ``` docker-compose up -d ``` # Выбранные сервисы  1. ```mysql``` - система для создания БД  2. ```drupal``` - популярная система управления контентом  3. ```gitea``` - сервис для хранения репозиториев git, на котором работает этот репозиторий  4. ```wordpress``` - платформа для управления контентом ## Описание работы: Были развёрнуты следующие сервисы: ### Drupal ``` drupal: depends_on: - mysql image: drupal container_name: my-drupal-container ports: - 8084:80 volumes: - ./drupal-modules:/var/www/html/modules - ./drupal-profiles:/var/www/html/profiles - ./drupal-themes:/var/www/html/themes environment: - DRUPAL_DB_HOST=mysql - DRUPAL_DB_USER=wiki_user - DRUPAL_DB_PASSWORD=my_secret_password - DRUPAL_DB_NAME=my_wiki ``` Этот код представляет собой часть файла конфигурации ```Docker Compose```, который используется для управления многоконтейнерными приложениями в Docker. #### Объяснение работы кода: Эта строка отвечает за образ сброки: ``` image: drupal ``` Задание имени контейнера: ``` container_name: my-drupal-container ``` Проброс портов: ``` ports: - 8084:80 ``` Тома для хранения данных: ``` volumes: - ./drupal-modules:/var/www/html/modules - ./drupal-profiles:/var/www/html/profiles - ./drupal-themes:/var/www/html/themes ``` Переменные окружения для Drupal ``` environment: - DRUPAL_DB_HOST=mysql - DRUPAL_DB_USER=wiki_user - DRUPAL_DB_PASSWORD=my_secret_password - DRUPAL_DB_NAME=my_wiki ``` Аналогично со следующими сервисами: ### Gitea ``` depends_on: - mysql image: gitea/gitea container_name: my-gitea-container ports: - 8085:3000 volumes: - ./gitea:/data environment: - USER_UID=1000 - USER_GID=1000 - DB_TYPE=mysql - DB_HOST=mysql:3306 - DB_NAME=my_wiki - DB_USER=wiki_user - DB_PASSWORD=my_secret_password - ROOT_URL=http://localhost:8085 ``` ### Wordpress ``` depends_on: - mysql image: wordpress container_name: my-wordpress-container ports: - 8086:80 volumes: - ./wp-content:/var/www/html/wp-content environment: - WORDPRESS_DB_HOST=mysql - WORDPRESS_DB_USER=wiki_user - WORDPRESS_DB_PASSWORD=my_secret_password - WORDPRESS_DB_NAME=my_wiki ``` # Скриншот работы Запущенный контейнер в Docker ![](docker.png "") # Youtube https://youtu.be/slOXP6pHBsM