Помочь с настройкой Docker

Отменен
Заказ
5421031
Раздел
Программирование
Предмет
Python
Тип работы
Антиплагиат
Не указан
Срок сдачи
15 Мая 2023 в 23:55
Цена
Договорная
Блокировка
10 дней
Размещен
14 Мая 2023 в 23:59
Просмотров
29
Описание работы

Есть приложение, написанное на Python (FastApi), которое должно быть упаковано в докер.

Внутри приложения используется alembic для управления миграциями БД и первичного создания таблиц в БД (postgresql).


Суть заказа - помочь с донастройкой докера, поскольку:

Сейчас есть проблема - запущенный образ докера не подключается к БД, которая тоже в докер контейнере (порты проброшены, но вылетает ошибка таймаута соединения). При этом проверка соединения через terminal работает успешно. Переменные окружения тоже подтягиваются.

По срокам - ASAP, до 15:00 понедельника.


Структура исходного проекта:

Project/

├─Dockerfile

├─docker-compose.yml

├─requirements.txt

├─.env.docker

├─app/


│ ├─ main.py


│ ├─ handlers/...

│ ├─ db/...


Уже есть один вариант, который срабатывает, однако там слетают абсолютные пути. В проекте много где встречается что-то вроде from app.db.db import..), и вылетает ошибка:

app_1 | from app.handlers.users import router as users_router

app_1 | ModuleNotFoundError: No module named 'app'

А еще нужно учесть, что базовый образ строго зафиксирован. Изменять образ в директиве FROM нельзя.


Отдельный пункт, который нужно учесть - запуск миграций alembic при старте контейнера для проверки соответствия структуры таблиц. И здесь нюанс - alembic.ini находится в нестандартной директории (обычно - корень проекта, в данном случае - в /app).

Файлы докера который верны по логике указания абсолютных путей и файлы конфига при котором срабатывает подключение к бд - во вложении.

Суть - сделать Dockerfile и docker-config.yml, чтобы были сохранены абсолютные пути, при этом main.py подключался к БД, и перед этим запускалась команда alembic -c app/alembic.ini upgrade head, тоже успешно подключающаяся к бд.


По оплате - предлагайте.

Буду на связи с 10:00. В идеале - к 15:00 понедельника (сегодня) запустить, чтобы заработало.

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир