diff --git a/README.md b/README.md index 64ef33813a..a66e15a964 100644 --- a/README.md +++ b/README.md @@ -1,117 +1,101 @@ -# Домашнее задание к занятию "`Название занятия`" - `Фамилия и имя студента` +### Задание 1 + +**Напишите ответ в свободной форме, не больше одного абзаца текста.** +Установите Docker Compose и опишите, для чего он нужен и как может улучшить лично вашу жизнь. -### Инструкция по выполнению домашнего задания +Docker Compose - это инструмент для определения и запуска многоконтейнерных приложений Docker. С его помощью можно управлять целым набором контейнеров, объединённых в один проект, используя один или несколько файлов docker-compose.yml. Это упрощает развертывание сложных приложений, позволяет управлять зависимостями между сервисами, объёмами и настройками сети. В вашем случае, Docker Compose может сделать процесс разработки и тестирования приложений более простым и удобным, позволяя запускать и останавливать все сервисы одной командой. - 1. Сделайте `fork` данного репозитория к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/git-hw или https://github.com/имя-вашего-репозитория/7-1-ansible-hw). - 2. Выполните клонирование данного репозитория к себе на ПК с помощью команды `git clone`. - 3. Выполните домашнее задание и заполните у себя локально этот файл README.md: - - впишите вверху название занятия и вашу фамилию и имя - - в каждом задании добавьте решение в требуемом виде (текст/код/скриншоты/ссылка) - - для корректного добавления скриншотов воспользуйтесь [инструкцией "Как вставить скриншот в шаблон с решением](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md) - - при оформлении используйте возможности языка разметки md (коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md)) - 4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`); - 5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github. - 6. Любые вопросы по выполнению заданий спрашивайте в чате учебной группы и/или в разделе “Вопросы по заданию” в личном кабинете. - -Желаем успехов в выполнении домашнего задания! - -### Дополнительные материалы, которые могут быть полезны для выполнения задания -1. [Руководство по оформлению Markdown файлов](https://gist.github.com/Jekins/2bf2d0638163f1294637#Code) --- -### Задание 1 +### Задание 2 + +**Выполните действия и приложите текст конфига на этом этапе.** + +Создайте файл docker-compose.yml и внесите туда первичные настройки: + + * version; + * services; + * volumes; + * networks. + +При выполнении задания используйте подсеть 10.5.0.0/16. +Ваша подсеть должна называться: <ваши фамилия и инициалы>-my-netology-hw. +Все приложения из последующих заданий должны находиться в этой конфигурации. -`Приведите ответ в свободной форме........` +--- + +### Задание 3 -1. `Заполните здесь этапы выполнения, если требуется ....` -2. `Заполните здесь этапы выполнения, если требуется ....` -3. `Заполните здесь этапы выполнения, если требуется ....` -4. `Заполните здесь этапы выполнения, если требуется ....` -5. `Заполните здесь этапы выполнения, если требуется ....` -6. +**Выполните действия:** -``` -Поле для вставки кода... -.... -.... -.... -.... -``` +1. Создайте конфигурацию docker-compose для Prometheus с именем контейнера <ваши фамилия и инициалы>-netology-prometheus. +2. Добавьте необходимые тома с данными и конфигурацией (конфигурация лежит в репозитории в директории [6-04/prometheus](https://github.com/netology-code/sdvps-homeworks/tree/main/6-04/prometheus)). +3. Обеспечьте внешний доступ к порту 9090 c докер-сервера. + +--- -`При необходимости прикрепитe сюда скриншоты -![Название скриншота 1](ссылка на скриншот 1)` +### Задание 4 +**Выполните действия:** + +1. Создайте конфигурацию docker-compose для Pushgateway с именем контейнера <ваши фамилия и инициалы>-netology-pushgateway. +2. Обеспечьте внешний доступ к порту 9091 c докер-сервера. --- -### Задание 2 +### Задание 5 + +**Выполните действия:** -`Приведите ответ в свободной форме........` +1. Создайте конфигурацию docker-compose для Grafana с именем контейнера <ваши фамилия и инициалы>-netology-grafana. +2. Добавьте необходимые тома с данными и конфигурацией (конфигурация лежит в репозитории в директории [6-04/grafana](https://github.com/netology-code/sdvps-homeworks/tree/main/6-04/grafana)). +3. Добавьте переменную окружения с путем до файла с кастомными настройками (должен быть в томе), в самом файле пропишите логин=<ваши фамилия и инициалы> пароль=netology. +4. Обеспечьте внешний доступ к порту 3000 c порта 80 докер-сервера. -1. `Заполните здесь этапы выполнения, если требуется ....` -2. `Заполните здесь этапы выполнения, если требуется ....` -3. `Заполните здесь этапы выполнения, если требуется ....` -4. `Заполните здесь этапы выполнения, если требуется ....` -5. `Заполните здесь этапы выполнения, если требуется ....` -6. +--- -``` -Поле для вставки кода... -.... -.... -.... -.... -``` +### Задание 6 -`При необходимости прикрепитe сюда скриншоты -![Название скриншота 2](ссылка на скриншот 2)` +**Выполните действия.** +1. Настройте поочередность запуска контейнеров. +2. Настройте режимы перезапуска для контейнеров. +3. Настройте использование контейнерами одной сети. +5. Запустите сценарий в detached режиме. --- -### Задание 3 - -`Приведите ответ в свободной форме........` - -1. `Заполните здесь этапы выполнения, если требуется ....` -2. `Заполните здесь этапы выполнения, если требуется ....` -3. `Заполните здесь этапы выполнения, если требуется ....` -4. `Заполните здесь этапы выполнения, если требуется ....` -5. `Заполните здесь этапы выполнения, если требуется ....` -6. - -``` -Поле для вставки кода... -.... -.... -.... -.... -``` - -`При необходимости прикрепитe сюда скриншоты -![Название скриншота](ссылка на скриншот)` - -### Задание 4 - -`Приведите ответ в свободной форме........` - -1. `Заполните здесь этапы выполнения, если требуется ....` -2. `Заполните здесь этапы выполнения, если требуется ....` -3. `Заполните здесь этапы выполнения, если требуется ....` -4. `Заполните здесь этапы выполнения, если требуется ....` -5. `Заполните здесь этапы выполнения, если требуется ....` -6. - -``` -Поле для вставки кода... -.... -.... -.... -.... -``` - -`При необходимости прикрепитe сюда скриншоты -![Название скриншота](ссылка на скриншот)` +### Задание 7 + +**Выполните действия.** +1. Выполните запрос в Pushgateway для помещения метрики <ваши фамилия и инициалы> со значением 5 в Prometheus: ```echo "<ваши фамилия и инициалы> 5" | curl --data-binary @- http://localhost:9091/metrics/job/netology```. +2. Залогиньтесь в Grafana с помощью логина и пароля из предыдущего задания. +3. Cоздайте Data Source Prometheus (Home -> Connections -> Data sources -> Add data source -> Prometheus -> указать "Prometheus server URL = http://prometheus:9090" -> Save & Test). +4. Создайте график на основе добавленной в пункте 5 метрики (Build a dashboard -> Add visualization -> Prometheus -> Select metric -> Metric explorer -> <ваши фамилия и инициалы -> Apply. + +В качестве решения приложите: + +* docker-compose.yml **целиком**; + ![Screenshot_47](https://github.com/user-attachments/assets/81d05a7e-d221-4ed6-859b-75c0247bebfe) + +* скриншот команды docker ps после запуске docker-compose.yml; + ![Screenshot_48](https://github.com/user-attachments/assets/b07b8688-8fff-4c5a-b67f-43c7710c82af) + +* скриншот графика, постоенного на основе вашей метрики. +![Screenshot_49](https://github.com/user-attachments/assets/c9441cf6-8ebd-4441-9b3b-8dfccf2fa29c) + +--- + +### Задание 8 + +**Выполните действия:** + +1. Остановите и удалите все контейнеры одной командой. + +В качестве решения приложите скриншот консоли с проделанными действиями. +![Screenshot_50](https://github.com/user-attachments/assets/28ea7d9e-32f6-47ce-8493-8ab18a3a33e5) + +---