diff --git a/nikolaeva_yana_lab_1/README.md b/nikolaeva_yana_lab_1/README.md new file mode 100644 index 0000000..ac839f3 --- /dev/null +++ b/nikolaeva_yana_lab_1/README.md @@ -0,0 +1,121 @@ +# Лабораторная работа №1 - Знакомство с docker и docker-compose + +## Задание + +Развернуть 3 сервиса в контейнерах docker через docker-compose. + +Необходимые требования: + +* Несколько контейнеров. +* Хотя бы один volume. +* Хотя бы один порт, проброшенный на хост. +* Разворачивание системы должно пройти до конца. + +## Запуск работы: + +Работа программы начинается после ввода в терминале команды: +``` +docker-compose up -d + +``` + +## Описание программы: + +В первую очередь задаем основную структуру ```services:```. В этом разделе определяются сервисы, которые будут работать вместе. + +Сервисы: + +### mediawiki + +``` + mediawiki: + image: mediawiki:1.35 + ports: + - "8080:80" + volumes: + - ./mediawiki-images:/var/www/html/images + +``` +Задаем образ сборки, указываем используемую версию: +``` +image: mediawiki:1.35 + +``` +Указываем порт: +``` + ports: + - "8080:80" + +``` +Указываем том для хранения данных: +``` + volumes: + - ./mediawiki-images:/var/www/html/images + +``` + +### redmine + +Для сервиса redmine пишем код аналогично mediawiki: + +``` + redmine: # определение сервиса redmine + image: redmine:latest # образ redmine последней версии + ports: # проброс порта + - "8082:3000" + volumes: # настройки тома + - ./redmine/files:/usr/src/redmine/files + +``` + +### wordpress + +``` + wordpress: + image: wordpress:latest + ports: + - "8081:80" + environment: + - WORDPRESS_DB_HOST=db_wp + - WORDPRESS_DB_USER=admin + - WORDPRESS_DB_PASSWORD=admin123 + - WORDPRESS_DB_NAME=wpdb + volumes: + - ./wordpress:/var/www/html + depends_on: + - db_wp + +``` +Для сервиса wordpress добавляем переменные окружения +``` +environment: + - WORDPRESS_DB_HOST=db_wp + - WORDPRESS_DB_USER=admin + - WORDPRESS_DB_PASSWORD=admin123 + - WORDPRESS_DB_NAME=wpdb + volumes: + +``` +и зависимости +``` + depends_on: + - db_wp + +``` +А также база данных + +``` + db_wp: + image: mysql:5.7 + environment: + - MYSQL_ROOT_PASSWORD=rootpassword + - MYSQL_DATABASE=wpdb + - MYSQL_USER=admin + - MYSQL_PASSWORD=admin123 + volumes: + - db_wp-data:/var/lib/mysql + +``` + +# Ссылка на видеозапись работы программмы +https://vk.com/video184700578_456239023 \ No newline at end of file diff --git a/nikolaeva_yana_lab_1/docker-compose.yml b/nikolaeva_yana_lab_1/docker-compose.yml new file mode 100644 index 0000000..788ab2e --- /dev/null +++ b/nikolaeva_yana_lab_1/docker-compose.yml @@ -0,0 +1,44 @@ +services: + mediawiki: # определение сервиса mediawiki + image: mediawiki:1.35 # образ MediaWiki версии 1.35 + ports: # проброс порта + - "8080:80" + volumes: # настройки тома + - ./mediawiki-images:/var/www/html/images + + wordpress: # определение сервиса wordpress + image: wordpress:latest # образ wordpress последней версии + ports: # проброс порта + - "8081:80" + environment: # переменные окружения + - WORDPRESS_DB_HOST=db_wp + - WORDPRESS_DB_USER=admin + - WORDPRESS_DB_PASSWORD=admin123 + - WORDPRESS_DB_NAME=wpdb + volumes: # настройки тома + - ./wordpress:/var/www/html + depends_on: # зависимости + - db_wp + + db_wp: # бд для wordpress + image: mysql:5.7 # используем mysql версии 5.7 + environment: # переменные окружения + - MYSQL_ROOT_PASSWORD=rootpassword + - MYSQL_DATABASE=wpdb + - MYSQL_USER=admin + - MYSQL_PASSWORD=admin123 + volumes: # настройки тома + - db_wp-data:/var/lib/mysql + + redmine: # определение сервиса redmine + image: redmine:latest # образ redmine последней версии + ports: # проброс порта + - "8082:3000" + volumes: # настройки тома + - ./redmine/files:/usr/src/redmine/files + +# определение томов, используемых для хранения данных +volumes: + mediawiki-data: + db_wp-data: + redmine-data: \ No newline at end of file