Рубрики
Uncategorized

Я построил чрезмерно сложный генератор случайных чисел с Docker Compose!

Это чрезмерно сложный генератор случайных чисел, созданный для демистификации того, как работают контейнеры …. Tagged с DevOps, Showdev, новички, учебник.

Серия «Я построил» (6 серии деталей)

Это чрезмерно сложный генератор случайных чисел, созданный для демистификации того, как работают контейнеры.

Демо

  1. Пользователь устанавливает случайное семя
  2. Щелчки генерируют случайное число
  3. Генерируется случайное число

CT83/Оплентно-сложный-Рандома-Генератор

Атмосфера Чрезмерно сложный генератор случайных чисел, созданный для демистификации того, как работают контейнеры.

Это чрезмерно сложный генератор случайных чисел, созданный для демистификации того, как работают контейнеры.

Как бежать?

Легкий Peasy Lemon Squeezy. 🍋 💦

  1. Docker-Compose Up-Build

  2. Посетите Localhost

Ниже приведен отрывок из моего сообщения в блоге об этом.

Демо

  1. Пользователь устанавливает случайное семя
  2. Щелчки генерируют случайное число
  3. Генерируется случайное число

Предварительные условия

  • У вас есть понимание Docker и Docker Compose
  • Вы слышали о Python, React и Redis

Цель

  • Чтобы проиллюстрировать, как контейнеризация на самом деле выглядит в дикой природе
  • Мы пропустим, как работают фактический Python, JavaScript, так как мы хотим сосредоточиться на контейнеризации здесь, вы можете найти весь код на Github-ct83/coplicated-simple-container-app

Архитектура

  1. Nginx Proxy — выставлен на порту 80, управляет сетью
  2. React Dev Server — принимает вход, поддерживает перезагрузку в прямом эфире, заменяется NGINX в производстве
  3. Flask Server — обслуживает API
  4. Redis Cache — чтобы поддерживать очередь задач

Предварительные условия

  • У вас есть понимание Docker и Docker Compose
  • Вы слышали о Python, React и Redis

Цель

  • Чтобы проиллюстрировать, как контейнеризация на самом деле выглядит в дикой природе
  • Мы пропустим, как работают фактический Python, JavaScript, так как мы хотим сосредоточиться на контейнеризации здесь, вы можете найти весь код на Github-ct83/coplicated-simple-container-app

Архитектура

  1. Nginx Proxy — выставлен на порту 80, управляет сетью
  2. React Dev Server — принимает вход, поддерживает перезагрузку в прямом эфире, заменяется NGINX в производстве
  3. Flask Server — обслуживает API
  4. Redis Cache — чтобы поддерживать очередь задач
  5. Python Worker — использует указанное семя для генерации случайного числа, хранит его в DB
  6. База данных — PostgreSQL DB для хранения сгенерированных случайных чисел

Работающий

  1. Приложение React обслуживается, пользователь вводит случайное семя.
  2. Семя отправляются в API Flask через сообщение
  3. Задача добавляется в очередь
  4. Работник выбирает задачу, генерирует случайное число и приводит к хранению в базе данных
  5. Результат возвращается пользователю.

Конфигурация

Здесь это минимизированный Docker-Compose-Prod.yml

version: "3.3"

services:
  proxy:
    container_name: proxy
    build: 
      ...
    ports:
      - 80:80

  database:
    container_name: database
    build: database/.
    volumes:
      - ./database/db_data:/var/lib/postgresql
    ...

  client:
    container_name: client
    build: 
      ...
    environment:
      ...

  api:
    container_name: api
    build: 
    ...
    volumes:
      - ./api:/app

  worker:
    container_name: worker
    build:
    ...

  redis:
    container_name: redis
    build: 
    ...

Вы можете найти разработку Docker-compose.yml здесь Анкет Он даже поддерживает живую перезагрузку для обоих, колба и реагировать контейнер!

Следующие шаги

Теперь вы можете перейти к попытке подтолкнуть встроенные изображения в Dockerhub или добавить интеграцию Travisci!

Вдохновение

Стивен Гридер в его курсе Udemy Docker и Kubernetes: Полное руководство Создал чрезмерно сложное простое приложение, которое меня очень вдохновило.

Серия «Я построил» (6 серии деталей)

Оригинал: «https://dev.to/rohansawant/i-built-an-overly-complex-random-number-generator-with-docker-compose-3c0h»