/compose-task

Primary LanguageTypeScript

TradeOffer

Как собрать докерфайл

Будет 4 сервиса: фронт, бэк, БД и админка до БД. Минимальная функциональность указана, если вы опишете больше параметров для конфигурации, чем тут есть (найдете что-то интересное), буду только рад!

frontend

  1. Должен быть блок сборки из докерфайла (указан контекст, имя полученного образа и директория сборки)
  2. Заданы переменные окружения (см описание сервиса)
  3. Связаны порты 3002:3002
  4. Зависит от бэка (пока не поднимется бэк, не поднимется фронт)
  5. Есть хэлсчек
  6. Задано правило рестарта (любое на ваш выбор)

backend

  1. Должен быть блок сборки из докерфайла (указан контекст, имя полученного образа и директория сборки)
  2. Заданы переменные окружения (см описание сервиса)
  3. Связаны порты 3001:3001
  4. Зависит от БД
  5. Есть хэлсчек
  6. Задано правило рестарта (любое на ваш выбор)

MySQL

  1. Сборка из готового образа mysql:8.0
  2. Заданы переменные
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: tradeoffer_db
  1. Связаны порты 3306:3306
  2. Прокинуть volume (посмотреть, в какой папке в контейнере MySQL хранит данные и смонтировать ее на хост)

Adminer (админ-панель)

  1. Сборка из готового образа adminer:latest
  2. Заданы переменные окружения
ADMINER_DEFAULT_DB_DRIVER: mysql
ADMINER_DEFAULT_SERVER: mysql_db
ADMINER_PLUGINS: tables-filter tinymce
  1. Связаны порты 30000:8080
  2. Зависит от БД
  3. Добавлен профиль для сервиса - будет здорово, если это будет подниматься только по профилю, например develop. А на проде этот контейнер бы не поднимался (опционально). Почитать статью
  4. Задано правило рестарта