From 45db30d41a22efc382365e4662ff49442e1f1efd Mon Sep 17 00:00:00 2001 From: iu5git Date: Sun, 24 Nov 2024 17:34:05 +0300 Subject: [PATCH] docker-compose --- README.md | 8 +- tutorials/git-docker/README.md | 170 ++++++++++++++++++ .../assets/githubworkflow.png | Bin .../{git => git-docker}/assets/hq720.jpg | Bin .../git-docker/assets/launched-compose.png | Bin 0 -> 112682 bytes tutorials/git-docker/docker-compose.yml | 49 +++++ tutorials/git/README.md | 46 ----- 7 files changed, 222 insertions(+), 51 deletions(-) create mode 100644 tutorials/git-docker/README.md rename tutorials/{git => git-docker}/assets/githubworkflow.png (100%) rename tutorials/{git => git-docker}/assets/hq720.jpg (100%) create mode 100644 tutorials/git-docker/assets/launched-compose.png create mode 100644 tutorials/git-docker/docker-compose.yml delete mode 100644 tutorials/git/README.md diff --git a/README.md b/README.md index 1b5079b7..cb3ba6f2 100644 --- a/README.md +++ b/README.md @@ -58,11 +58,9 @@ Основной вариант лабораторных по бэкенду - это `Django` и `Go`. Но можно самостоятельно изучить и выполнять их на `Java`, `C#`, `Rust` и `Node.js`, но только при согласовании с лектором и при выполнении всех условий лабораторных работ. В этом случае обязательно требуется согласовать веб-фреймворк, шаблонизатор, ORM и способ авторизации. При развертывании выбирается один из двух вариантов: все три хранилища `PostgreSQL`, `Minio`, `Redis` разворачиваются через `docker`; либо вся серверная часть развернута в виртуальной машине `Ubuntu 22.04`. Для фронтенда один стек `React`+`Redux`+`axios`+`React-Bootstrap`. * [Демо версия](https://iu5git.github.io/Web/) интерфейса создателя заявки -* [Примеры](/tutorials/homework) UML и ER диаграмм -* [Примеры](/reports/) документации -* Видео мастер-классов по UML [ER и структура системы](https://vk.com/video-211704031_456239172) и [Бизнес процесс, развертывание и запросы](https://vk.com/video-211704031_456239171) -* [Основные команды](/tutorials/git) и подробный мастер-класс по [основам Git](https://iu5edu.ru/wiki/devops/docs/master-classes/git/) -* Мастер-класс по [основам Docker](https://iu5edu.ru/wiki/devops/docs/master-classes/docker/) +* [Примеры](/reports/) документации - РПЗ. +* [Примеры](/tutorials/homework) UML и ER диаграмм. Видео мастер-классов по UML [ER и структура системы](https://vk.com/video-211704031_456239172) и [Бизнес процесс, развертывание и запросы](https://vk.com/video-211704031_456239171) +* [Основные команды git и описание Docker Compose](/tutorials/git-docker/). Подробные мастер-классы по [основам Git](https://iu5edu.ru/wiki/devops/docs/master-classes/git/) и [основам Docker](https://iu5edu.ru/wiki/devops/docs/master-classes/docker/) ## Лабораторные 2024 diff --git a/tutorials/git-docker/README.md b/tutorials/git-docker/README.md new file mode 100644 index 00000000..1a7f888c --- /dev/null +++ b/tutorials/git-docker/README.md @@ -0,0 +1,170 @@ +# Основы работы с Git и Docker Compose + +# Основы работы с git +## Введение +Git - система контроля версий, которая позволяет интегрировать потоки работы, выполненные несколькими участниками, в течение определенного времени. +Важно, что не стоит путать git и `github`/`gitlab`/`bitbucket` и др. Все эти платформы представляют собой веб-службу размещения для репозиториев git. У `github` имеется свой процесс `workflow` который немного отличается от остальных. + +![github workflow](assets/hq720.jpg) + +Умение работать с git очень важно, т.к. это неотделимая часть каждого процесса разработки, которая позволяет организовывать flow работы. Поэтому ниже будут перечислены все основные команды, которые стоит знать, так как если они не пригодятся Вам в учебе, но при устройстве в любую компанию разработчиком, Вы будете их обязательно использовать. +**Ниже будут перечислены команды для работы с git из терминала!** +## Основные команды, которые стоит знать +1. Инициализация и клонирование репозитория +- `git init` - команда, которая позволяет инициализировать новый репозиторий или пересоздать уже существующий. + Подробнее: https://git-scm.com/docs/git-init +Клонирование репозитория. +- `git clone ` - клонирование существующего репозитория, в параметр необходимо передать адрес вашего репозитория, который находится на github. +Пример: +`git clone https://github.com/iu5git/Web` - склонируется репозиторий курса РИП из github. +При выполнении этой команды у Вас склонируется репозиторий в текущую активную директорию, из которой Вы выполняли эту команду. +Подробнее: https://git-scm.com/docs/git-clone +2. Работа с ветками. +- `git branch -m "Название ветки"` - создание новой ветки с названием, "Название ветки" - пример названия, Вы его можете заменить на любое другое и у Вас создастся ветка с этим названием. +Пример: +`git branch -m "Server Side Rendering"` - локально у вас создастся ветка с названием "Server Side Rendering" +Подробнее: https://git-scm.com/docs/git-branch +- `git push --set-upstream origin "Название ветки"` - "заливает" Вашу созданную ветку с названием "Название ветки" в репозиторий. +Пример: +`git push --set-upstream origin "Server Side Rendering"` - данная команда зальет ветку с названием "Server Side Rendering" в репозиторий. +Подробнее: https://git-scm.com/docs/git-push +- `git checkout "Название ветки"` - позволяет перейти к ветке с названием "Название ветки". +Пример: +`git checkout "Server Side Rendering"` - переместит Вас в ветку с названием "Server Side Rendering". +Подробнее: https://git-scm.com/docs/git-checkout +3. Работа с изменениями (Подробнее: https://git-scm.com/book/ru/v2/%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-C:-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-Git-%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B). +- `git add .` - добавляет изменение из рабочего каталога в раздел проиндексированных файлов. При наличии у Вас измененных файлов, перед commit'ом необходимо проиндексировать те файлы, которые Вы хотите залить в Ваш репозиторий, данная команда проиндексирует все Ваши файлы. +- `git commit -m "Название коммита"` - команда делает снимок измененных проиндексированных файлов на данный момент времени с заданным названием. "Название коммита" - пример названия коммита. +**Важно: каждый коммит должен содержать в себе не тарабарщину, а определенное название, чтобы человек, не знакомый с содержанием изменений, мог понять что происходит в данном коммите.** +Пример хорошего коммита: +`git commit -m "Connected Redis"` - из названия коммита понятно, что он содержит в себе изменения, связанные с добавлением подключением Redis'а. +Пример плохого коммита: +`git commit -m "Redis"` - Что Redis? Кто Redis? Явно видно, что были какие-то изменения, связанные с Redis'ом, а что с ним сделали - непонятно. +Подробнее: https://git-scm.com/docs/git-commit +- `git push` - команда заливает Ваши коммиты в репозиторий. +Подробнее: https://git-scm.com/docs/git-push + +## Дополнительно +Также есть достаточно удобный сайт для изучения git: https://learngitbranching.js.org/?locale=ru_RU , на ней можно изучить базовые основы работы с git'ом. + + +# Документация по работе файла `docker-compose.yml` + +Этот [файл](/docker-compose.yml) конфигурации `docker-compose.yml` предназначен для запуска и настройки трех сервисов: базы данных PostgreSQL, хранилища объектов MinIO и кеша Redis. Ниже описаны детали каждого сервиса и его конфигурация. + +--- + +## Общая структура + +- **version**: Указана версия Docker Compose (в данном случае `"3.8"`). +- **services**: Определяет три сервиса: + - `db` (PostgreSQL) + - `minio` (MinIO) + - `redis` (Redis) +- **volumes**: Настройки томов для сохранения данных сервисов. + +--- + +## Сервисы + +### 1. `db` (PostgreSQL) + +PostgreSQL используется как база данных. + +- **Имя образа**: `postgres:12` — скачивает и использует PostgreSQL версии 12. +- **Порты**: + - `5432:5432` — связывает порт 5432 контейнера с портом 5432 хоста. +- **Переменные окружения**: + - `POSTGRES_USER`: Задает имя пользователя базы данных (`root`). + - `POSTGRES_DB`: Название создаваемой базы данных (`RIP`). + - `POSTGRES_PASSWORD`: Пароль пользователя (`root`). +- **Том**: + - `postgresdb-data` монтируется в `/var/lib/postgresql/data` для хранения данных базы. + +--- + +### 2. `minio` (MinIO) + +MinIO предоставляет функциональность объектного хранилища. + +- **Имя образа**: `minio/minio:latest` — последняя версия MinIO. +- **Порты**: + - `9000:9000` — порт для API MinIO. + - `9001:9001` — порт для консоли управления MinIO. +- **Переменные окружения**: + - `MINIO_ACCESS_KEY`: Устанавливает ключ доступа (`root`). + - `MINIO_SECRET_KEY`: Устанавливает секретный ключ (`root`). + - `MINIO_CONSOLE_ADDRESS`: Указывает адрес для консоли (`:9001`). +- **Том**: + - `minio-data` монтируется в `/data` для хранения объектов. +- **Команда**: + - `server /data` — запускает MinIO и указывает путь для хранения данных. + +--- + +### 3. `redis` (Redis) + +Redis используется как кеш-сервис. + +- **Имя образа**: `redis:6.2-alpine` — компактная версия Redis 6.2 на базе Alpine Linux. +- **Порты**: + - `6379:6379` — связывает порт 6379 контейнера с портом 6379 хоста. +- **Переменные окружения**: Не используются напрямую, но настроен пароль. +- **Команда**: + - `redis-server --save 20 1 --loglevel warning --requirepass password` — конфигурирует Redis: + - Сохраняет данные каждые 20 секунд при наличии хотя бы 1 изменения. + - Логирование установлено на уровень предупреждений (`warning`). + - Задает пароль для доступа (`password`). +- **Том**: + - `redis-data` монтируется в `/data` для сохранения данных. + +--- + +## Томы + +Для каждого сервиса предусмотрены отдельные тома для сохранения данных: + +- `postgresdb-data` — хранит данные PostgreSQL. +- `minio-data` — хранит объекты MinIO. +- `redis-data` — хранит данные Redis. + +### Настройки томов + +Все тома используют локальный драйвер: + +```yaml +volumes: + postgresdb-data: + driver: local + minio-data: + driver: local + redis-data: + driver: local +``` + +## Запуск + +Для того, чтобы запустить у вас локально данный контейнер, необходимо убедиться, что установлен Docker Desktop, так как через него удобнее следить за состоянием контейнеров и управлять ими. + +*Docker Desktop можно установить по ссылке: https://www.docker.com/products/docker-desktop/* + +После установки необходимо открыть терминал в директории, где находится `docker-compose.yml` и написать команду `docker-compose up -d`. + +В случае успешной сборки контейнера, в терминале увидите следующее: + +``` +[+] Running 7/7 + ✔ Network downloads_default Created 0.2s + ✔ Volume "downloads_minio-data" Created 0.0s + ✔ Volume "downloads_redis-data" Created 0.0s + ✔ Volume "downloads_postgresdb-data" Created 0.0s + ✔ Container downloads-db-1 Started 1.9s + ✔ Container downloads-redis-1 Started 1.8s + ✔ Container minio Started 1.9s +``` + +А в Docker Desktop появится 3 контейнера, в которые будут гореть зеленым цветом. + +![Скриншот корректно запущенного контейнера](assets/launched-compose.png) + +После этого можно подключать ваше приложение к БД, MinIO и Redis, запущенным в контейнере. \ No newline at end of file diff --git a/tutorials/git/assets/githubworkflow.png b/tutorials/git-docker/assets/githubworkflow.png similarity index 100% rename from tutorials/git/assets/githubworkflow.png rename to tutorials/git-docker/assets/githubworkflow.png diff --git a/tutorials/git/assets/hq720.jpg b/tutorials/git-docker/assets/hq720.jpg similarity index 100% rename from tutorials/git/assets/hq720.jpg rename to tutorials/git-docker/assets/hq720.jpg diff --git a/tutorials/git-docker/assets/launched-compose.png b/tutorials/git-docker/assets/launched-compose.png new file mode 100644 index 0000000000000000000000000000000000000000..5583241949d60cd26aba4a99374b18cdfbbe09b4 GIT binary patch literal 112682 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 literal 0 HcmV?d00001 diff --git a/tutorials/git-docker/docker-compose.yml b/tutorials/git-docker/docker-compose.yml new file mode 100644 index 00000000..a6b9e889 --- /dev/null +++ b/tutorials/git-docker/docker-compose.yml @@ -0,0 +1,49 @@ +version: "3.8" # версия вашего docker-compose +services: + # имеджи, которые запустятся по вашему желанию + db: + # название моего имеджа + image: postgres:12 # скачает image postgres 12 версии + volumes: + # часть настроек для хранения данных, пока для нас это не важно + - type: volume + source: postgresdb-data + target: /var/lib/postgresql/data + ports: + # порты + - "5432:5432" + environment: + # переменные окружения, меняйте их если хотите поменять пароль, логин или название стартовой базы данных + POSTGRES_USER: root + POSTGRES_DB: RIP + POSTGRES_PASSWORD: root + minio: + container_name: minio + image: minio/minio:latest + ports: + - "9000:9000" + - "9001:9001" + environment: + MINIO_ACCESS_KEY: root + MINIO_SECRET_KEY: root + MINIO_CONSOLE_ADDRESS: ":9001" + volumes: + - minio-data:/data + command: server /data + redis: + image: redis:6.2-alpine + restart: always + ports: + - '6379:6379' + command: redis-server --save 20 1 --loglevel warning --requirepass password + volumes: + - redis-data:/data + +volumes: + # часть настроек для хранения данных + postgresdb-data: + driver: local + minio-data: + driver: local + redis-data: + driver: local diff --git a/tutorials/git/README.md b/tutorials/git/README.md deleted file mode 100644 index f9a8166e..00000000 --- a/tutorials/git/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Основы работы с git. -## Введение -Git - система контроля версий, которая позволяет интегрировать потоки работы, выполненные несколькими участниками, в течение определенного времени. -Важно, что не стоит путать git и `github`/`gitlab`/`bitbucket` и др. Все эти платформы представляют собой веб-службу размещения для репозиториев git. У `github` имеется свой процесс `workflow` который немного отличается от остальных. - -![github workflow](assets/hq720.jpg) - -Умение работать с git очень важно, т.к. это неотделимая часть каждого процесса разработки, которая позволяет организовывать flow работы. Поэтому ниже будут перечислены все основные команды, которые стоит знать, так как если они не пригодятся Вам в учебе, но при устройстве в любую компанию разработчиком, Вы будете их обязательно использовать. -**Ниже будут перечислены команды для работы с git из терминала!** -## Основные команды, которые стоит знать -1. Инициализация и клонирование репозитория -- `git init` - команда, которая позволяет инициализировать новый репозиторий или пересоздать уже существующий. - Подробнее: https://git-scm.com/docs/git-init -Клонирование репозитория. -- `git clone ` - клонирование существующего репозитория, в параметр необходимо передать адрес вашего репозитория, который находится на github. -Пример: -`git clone https://github.com/iu5git/Web` - склонируется репозиторий курса РИП из github. -При выполнении этой команды у Вас склонируется репозиторий в текущую активную директорию, из которой Вы выполняли эту команду. -Подробнее: https://git-scm.com/docs/git-clone -2. Работа с ветками. -- `git branch -m "Название ветки"` - создание новой ветки с названием, "Название ветки" - пример названия, Вы его можете заменить на любое другое и у Вас создастся ветка с этим названием. -Пример: -`git branch -m "Server Side Rendering"` - локально у вас создастся ветка с названием "Server Side Rendering" -Подробнее: https://git-scm.com/docs/git-branch -- `git push --set-upstream origin "Название ветки"` - "заливает" Вашу созданную ветку с названием "Название ветки" в репозиторий. -Пример: -`git push --set-upstream origin "Server Side Rendering"` - данная команда зальет ветку с названием "Server Side Rendering" в репозиторий. -Подробнее: https://git-scm.com/docs/git-push -- `git checkout "Название ветки"` - позволяет перейти к ветке с названием "Название ветки". -Пример: -`git checkout "Server Side Rendering"` - переместит Вас в ветку с названием "Server Side Rendering". -Подробнее: https://git-scm.com/docs/git-checkout -3. Работа с изменениями (Подробнее: https://git-scm.com/book/ru/v2/%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-C:-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-Git-%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B). -- `git add .` - добавляет изменение из рабочего каталога в раздел проиндексированных файлов. При наличии у Вас измененных файлов, перед commit'ом необходимо проиндексировать те файлы, которые Вы хотите залить в Ваш репозиторий, данная команда проиндексирует все Ваши файлы. -- `git commit -m "Название коммита"` - команда делает снимок измененных проиндексированных файлов на данный момент времени с заданным названием. "Название коммита" - пример названия коммита. -**Важно: каждый коммит должен содержать в себе не тарабарщину, а определенное название, чтобы человек, не знакомый с содержанием изменений, мог понять что происходит в данном коммите.** -Пример хорошего коммита: -`git commit -m "Connected Redis"` - из названия коммита понятно, что он содержит в себе изменения, связанные с добавлением подключением Redis'а. -Пример плохого коммита: -`git commit -m "Redis"` - Что Redis? Кто Redis? Явно видно, что были какие-то изменения, связанные с Redis'ом, а что с ним сделали - непонятно. -Подробнее: https://git-scm.com/docs/git-commit -- `git push` - команда заливает Ваши коммиты в репозиторий. -Подробнее: https://git-scm.com/docs/git-push - -## Дополнительно -Также есть достаточно удобный сайт для изучения git: https://learngitbranching.js.org/?locale=ru_RU , на ней можно изучить базовые основы работы с git'ом.