From 6beff3a60074c952bc1e2106fbc9c2e23e496099 Mon Sep 17 00:00:00 2001 From: Kamil Haliullov Date: Sun, 24 Nov 2024 19:09:55 +0400 Subject: [PATCH] haliullov_kamil_lab_1 is ready --- haliullov_kamil_lab_1/README.md | 139 +++++++++++++++++++++++ haliullov_kamil_lab_1/docker-compose.yml | 54 +++++++++ haliullov_kamil_lab_1/lab_1.png | Bin 0 -> 34337 bytes 3 files changed, 193 insertions(+) create mode 100644 haliullov_kamil_lab_1/README.md create mode 100644 haliullov_kamil_lab_1/docker-compose.yml create mode 100644 haliullov_kamil_lab_1/lab_1.png diff --git a/haliullov_kamil_lab_1/README.md b/haliullov_kamil_lab_1/README.md new file mode 100644 index 0000000..310640d --- /dev/null +++ b/haliullov_kamil_lab_1/README.md @@ -0,0 +1,139 @@ +# Лабораторная работа №1 - Знакомство с docker и docker-compose + +## Задание + +Нужно развернуть 3 сервиса в контейнерах docker через docker-compose. + +Необходимые требования: + +* Несколько контейнеров. +* Хотя бы один volume. +* Хотя бы один порт, проброшенный на хост. +* Разворачивание системы должно пройти до конца. + +## Запуск ЛР: + +Введем в терминале команду: +``` +docker-compose up -d +``` +## Использованные сервисы: + + 1. ```db``` - база данные MySQL + + 2. ```redmine``` - Система учёта багов, т.е. баг-трекер. + + 3. ```gitea``` - Сервис для хранения репозиториев git, на котором работает этот репозиторий. + + 4. ```wordpress``` - платформа для управления контентом + +## Описание программы: + +Развернутые сервисы: + +### wordpress + +``` +wordpress: # Определение сервиса WordPress + image: wordpress:latest # Используемый образ WordPress последней версии + containername: wp_app # Имя контейнера + restart: always + ports: # Настройка портов + - "8000:80" + environment: # Переменные окружения + WORDPRESSDBHOST: ${DBHOST} + WORDPRESSDBUSER: ${DBUSER} + WORDPRESSDBPASSWORD: ${DBPASSWORD} + WORDPRESSDBNAME: ${DBNAME} + WORDPRESSADMINUSER: admin + WORDPRESSADMINPASSWORD: adminpassword + WORDPRESSADMINEMAIL: admin@example.com + volumes: # Настройка томов + - wordpress_data:/var/www/html + dependson: # Зависимости + - db_wordpress # Зависит от сервиса MySQL + +``` +Эта строка отвечает за образ сброки: +``` +image: wordpress:latest +``` +Задание имени контейнера: +``` +containername: wp_app +``` +Проброс портов: +``` +ports: + - 8000:80 +``` +Тома для хранения данных: +``` +volumes: + - wordpress_data:/var/www/html + +``` +Переменные окружения +``` +environment: + WORDPRESSDBHOST: ${DBHOST} + WORDPRESSDBUSER: ${DBUSER} + WORDPRESSDBPASSWORD: ${DBPASSWORD} + WORDPRESSDBNAME: ${DBNAME} + WORDPRESSADMINUSER: admin + WORDPRESSADMINPASSWORD: adminpassword + WORDPRESSADMINEMAIL: admin@example.com + +``` +Зависимости + +``` +dependson: + - db_wordpress + +``` +Аналогично со другими сервисами: + +### mediawiki + +``` +mediawiki: # Определение сервиса MediaWiki + image: mediawiki:1.35 # Используемый образ MediaWiki версии 1.35 + ports: # Настройка портов + - "8080:80" + containername: mediawiki # Имя контейнера + volumes: # Настройка томов + - mediawiki_data:/var/www/html/images mediawiki: # Определение сервиса MediaWiki + image: mediawiki:1.35 # Используемый образ MediaWiki версии 1.35 + ports: # Настройка портов + - "8080:80" + containername: mediawiki # Имя контейнера + volumes: # Настройка томов + - mediawiki_data:/var/www/html/images + +``` + +### redmine + +``` + +gitea: + image: gitea/gitea:latest + container_name: gitea + ports: + - "8082:3000" + environment: + - USER_UID=1000 + - USER_GID=1000 + volumes: + - gitea_data:/data + +``` + +# Скрины работы программы: + +Панель консоли +![](lab_1.png "") + +# Видео +https://disk.yandex.ru/i/H4_tFURvpQuqQA diff --git a/haliullov_kamil_lab_1/docker-compose.yml b/haliullov_kamil_lab_1/docker-compose.yml new file mode 100644 index 0000000..32c6720 --- /dev/null +++ b/haliullov_kamil_lab_1/docker-compose.yml @@ -0,0 +1,54 @@ + + +services: + wordpress: + image: wordpress:latest + container_name: wordpress + ports: + - "8080:80" + environment: + WORDPRESS_DB_HOST: db + WORDPRESS_DB_USER: example_user + WORDPRESS_DB_PASSWORD: example_password + WORDPRESS_DB_NAME: example_db + volumes: + - wordpress_data:/var/www/html + depends_on: + - db + + db: + image: mysql:5.7 + container_name: wordpress_db + environment: + MYSQL_DATABASE: example_db + MYSQL_USER: example_user + MYSQL_PASSWORD: example_password + MYSQL_ROOT_PASSWORD: root_password + volumes: + - db_data:/var/lib/mysql + + redmine: + image: redmine:latest + container_name: redmine + ports: + - "3000:3000" + volumes: + - redmine_data:/usr/src/redmine/files + + + gitea: + image: gitea/gitea:latest + container_name: gitea + ports: + - "8082:3000" + environment: + - USER_UID=1000 + - USER_GID=1000 + volumes: + - gitea_data:/data + +volumes: + wordpress_data: + db_data: + redmine_data: + gitea_data: diff --git a/haliullov_kamil_lab_1/lab_1.png b/haliullov_kamil_lab_1/lab_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d45a88b90fc12989124e81259453691a5568b646 GIT binary patch literal 34337 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