joev1 / demo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Пример обработки HTTP

Этот репозиторий содержит целый плейлист на youtube объясняющий основы обработки http запросов, плейлист может со временем пополнятся.

Dev окружение

Для запуска требуется:

  1. Docker engine
  2. Docker compose

Запуск dev окружения

docker-compose up -d

На dev окружение доступен hot reload изменений.

Build for production

Перед сборкой укажите корректный image, чтобы туда пушить изменения.

vim docker-compose.yml

Сборка

./build.sh

Теперь образ запущен - это самый простой пример вы можете его доработать под себя

Example production

Что использовать на продакшене это целиком ваш выбор (kubernate, swarm, ...) и его поддержка.

Главное что у вас есть готовые образы которые можно запускать как вам угодно.

Простейший пример запуска

  1. Создайте docker-compose.yml на нужном сервере (или вашей рабочей машине).
    version: '3.7'
    services:
      nginx:
        # image: cekta/demo:nginx # Укажите путь до образа на шаге build
        restart: always
        ports:
          - 80:80
      app:
        # image: cekta/demo:app # Укажите путь до образа на шаге build
        restart: always
      migration:
        # image: cekta/demo:migration # Укажите путь до образа на шаге build
    
  2. Запустите docker-compose
    docker-compose -f docker/docker-compose.yml pull
    docker-compose -f docker/docker-compose.yml up -d
    

Простейший пример обновления

  1. Сделать build for production
    ./build.sh
    
  2. Повторно запустить на сервере docker-compose
    docker-compose -f docker/docker-compose.yml pull
    docker-compose -f docker/docker-compose.yml up -d
    

В этом варианте возможен небольшой downtime на период пока устанавливаются миграции.

Вы всегда можете сделать свой вариант используя готовые образы.

About

License:GNU General Public License v3.0


Languages

Language:PHP 82.9%Language:Dockerfile 13.4%Language:Shell 3.7%