diff --git a/mashkova_margarita_lab_1/README.md b/mashkova_margarita_lab_1/README.md new file mode 100644 index 0000000..f7403f3 --- /dev/null +++ b/mashkova_margarita_lab_1/README.md @@ -0,0 +1,104 @@ +# Лабораторная работа №1 +## ПИбд-42 Машкова Маргарита +## Задание +1. Установить средство контейнеризации docker. +2. Изучить применение и принципы docker. +3. Изучить утилиту docker-compose и структуру файла docker-compose.yml. +4. Развернуть не менее 3х различных сервисов при помощи docker-compose. + +> Docker Compose использует файл docker-compose.yml для создания и запуска всех сервисов, определенных в конфигурации, +> с помощью одной команды. + +## Запуск программы +В директории с файлом `docker-compose.yml` выполнить команду: +``` +docker-compose up -d +``` + +## Разворачиваемые сервисы + +> - `mediawiki` - это платформа, которая позволяет пользователям создавать и редактировать страницы, а также управлять +изображениями и мультимедийными файлами. +> - `wordpress` - популярная система управления контентом. +> - `drupal` - популярная система управления контентом. +> - `mysql` - СУБД для создания БД, которую будет использовать сервис wordpress. +## Описание работы программы + +### Конфигурация сервиса `mediawiki`: +``` +mediawiki: +image: mediawiki +container_name: mediawiki +ports: + - "8081:80" +volumes: + - mediawiki-data:/var/www/html/images +environment: + - MEDIAWIKI_DB_HOST=db + - MEDIAWIKI_DB_USER=wikiuser + - MEDIAWIKI_DB_PASSWORD=wikipassword + - MEDIAWIKI_DB_NAME=wikidb +``` +### Конфигурация сервиса `mysql`: +``` +mysql: +image: mysql:latest +container_name: mysql +volumes: + - mysql-data:/var/lib/mysql +environment: + - MYSQL_DATABASE=wiki_db + - MYSQL_USER=wiki_user + - MYSQL_PASSWORD=password + - MYSQL_ROOT_PASSWORD=password +``` +### Конфигурация сервиса `wordpress`: +``` +wordpress: +depends_on: + - mysql +image: wordpress +container_name: wordpress +volumes: + - wordpress-data:/var/www/html +ports: + - "8082:80" +environment: + - WORDPRESS_DB_HOST=mysql + - WORDPRESS_DB_NAME=wiki_db + - WORDPRESS_DB_USER=wiki_user + - WORDPRESS_DB_PASSWORD=password +``` +### Конфигурация сервиса `drupal`: +``` +drupal: +image: drupal:latest +container_name: drupal +ports: + - "8083:80" +volumes: + - drupal_modules:/var/www/html/modules + - drupal_profiles:/var/www/html/profiles + - drupal_themes:/var/www/html/themes + - drupal_sites:/var/www/html/sites +``` + +## Запуск сервисов + +Результат выполнения команды `docker-compose up -d` +![Вывод в консоли](build_images.png) + +Созданные контейнеры: +![Созданные контейнеры](containers.png) + +mediawiki: +![mediawiki](mediawiki.png) + +wordpress: +![wordpress](wordpress.png) + +drupal: +![drupal](drupal.png) + +Ссылка на видео: +https://youtu.be/150uOdQU-7Y diff --git a/mashkova_margarita_lab_1/build_images.png b/mashkova_margarita_lab_1/build_images.png new file mode 100644 index 0000000..5448e62 Binary files /dev/null and b/mashkova_margarita_lab_1/build_images.png differ diff --git a/mashkova_margarita_lab_1/containers.png b/mashkova_margarita_lab_1/containers.png new file mode 100644 index 0000000..d991593 Binary files /dev/null and b/mashkova_margarita_lab_1/containers.png differ diff --git a/mashkova_margarita_lab_1/docker-compose.yml b/mashkova_margarita_lab_1/docker-compose.yml new file mode 100644 index 0000000..b87b9ab --- /dev/null +++ b/mashkova_margarita_lab_1/docker-compose.yml @@ -0,0 +1,60 @@ +version: '3' +services: + mediawiki: + image: mediawiki + container_name: mediawiki + ports: + - "8081:80" + volumes: + - mediawiki-data:/var/www/html/images + environment: + - MEDIAWIKI_DB_HOST=db + - MEDIAWIKI_DB_USER=wikiuser + - MEDIAWIKI_DB_PASSWORD=wikipassword + - MEDIAWIKI_DB_NAME=wikidb + + wordpress: + depends_on: + - mysql + image: wordpress + container_name: wordpress + volumes: + - wordpress-data:/var/www/html + ports: + - "8082:80" + environment: + - WORDPRESS_DB_HOST=mysql + - WORDPRESS_DB_NAME=wiki_db + - WORDPRESS_DB_USER=wiki_user + - WORDPRESS_DB_PASSWORD=password + + mysql: + image: mysql:latest + container_name: mysql + volumes: + - mysql-data:/var/lib/mysql + environment: + - MYSQL_DATABASE=wiki_db + - MYSQL_USER=wiki_user + - MYSQL_PASSWORD=password + - MYSQL_ROOT_PASSWORD=password + + drupal: + image: drupal:latest + container_name: drupal + ports: + - "8083:80" + volumes: + - drupal_modules:/var/www/html/modules + - drupal_profiles:/var/www/html/profiles + - drupal_themes:/var/www/html/themes + - drupal_sites:/var/www/html/sites + +volumes: + mediawiki-data: + wordpress-data: + drupal_modules: + drupal_profiles: + drupal_themes: + drupal_sites: + mysql-data: \ No newline at end of file diff --git a/mashkova_margarita_lab_1/drupal.png b/mashkova_margarita_lab_1/drupal.png new file mode 100644 index 0000000..36143c2 Binary files /dev/null and b/mashkova_margarita_lab_1/drupal.png differ diff --git a/mashkova_margarita_lab_1/mediawiki.png b/mashkova_margarita_lab_1/mediawiki.png new file mode 100644 index 0000000..9b4a26a Binary files /dev/null and b/mashkova_margarita_lab_1/mediawiki.png differ diff --git a/mashkova_margarita_lab_1/wordpress.png b/mashkova_margarita_lab_1/wordpress.png new file mode 100644 index 0000000..83c8460 Binary files /dev/null and b/mashkova_margarita_lab_1/wordpress.png differ