Мій проект DevOps: Створення дво-рівневого Flask додатку з MySQL

pic

Огляд проекту:

У цьому проекті я створюю Flask додаток, який отримує дані з змінних середовища та зберігає їх у базі даних MySQL.

GitHub репозиторій:
Два рівневий Flask додаток

Кроки налаштування

1. Клонування репозиторію

git clone https://github.com/LondheShubham153/two-tier-flask-app

2. Створення Docker образу

Перейдіть до клонованої директорії та створіть Docker образ:

docker build -t two-tier-app:latest .

3. Створення власної мережі

Перегляньте наявні Docker мережі:

docker network ls

Створіть власну мережу з назвою twotier:

docker network create twotier

4. Налаштування MySQL

a. Створення Docker тому:

docker volume ls  
docker volume create mysql-data

b. Запуск контейнера MySQL:

docker run -d --name mysql-demo -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7

c. Доступ до контейнера MySQL:

docker exec -it mysql-demo bash

d. Увійти в MySQL та створити базу даних:

mysql -u root -p  
# Введіть пароль: root  
CREATE DATABASE devops;  
exit  
exit

e. Запуск MySQL з власною мережею:

docker run -d -v mysql-data:/var/lib/mysql --network twotier --name mysql -e MYSQL_DATABASE=devops -e MYSQL_ROOT_PASSWORD=root mysql:5.7

Пояснення:

  • -v mysql-data:/var/lib/mysql: Прив'язує том mysql-data до каталогу MySQL контейнера.
  • --network twotier: Підключає контейнер до мережі twotier.
  • --name mysql: Назначає контейнеру ім’я mysql.
  • -e MYSQL_DATABASE=devops -e MYSQL_ROOT_PASSWORD=root: Встановлює ім’я бази даних та пароль root через змінні середовища.

5. Запуск Flask додатку

Запуск контейнера Flask:

docker run -d --network twotier --name two-tier-app -e MYSQL_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=root -e MYSQL_DB=devops -p 5000:5000 two-tier-app:latest

Пояснення:

  • --network twotier: Підключає контейнер Flask до мережі twotier.
  • Змінні середовища (MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DB) передають необхідну інформацію для підключення Flask додатку до MySQL бази даних.
  • -p 5000:5000: Відкриває порт 5000 для доступу до Flask додатку.

Ось посилання на YouTube: https://youtube.com/@raeesq.?si=v_QK6Q2XXMf9mKep

Висновок

Цей проект демонструє, як створити архітектуру з двома рівнями за допомогою Docker, з’єднуючи Flask додаток з базою даних MySQL. Сподіваюся, цей проект буде корисним та надихаючим для вашої власної подорожі в DevOps!

Перекладено з: My DevOps Project: Building a Two-Tier Flask App with MySQL

Leave a Reply

Your email address will not be published. Required fields are marked *