Я создал простой python flask проект API с использованием pycharm. Он отлично работает, когда я запускаю с использованием IDE, и API можно без проблем протестировать на localhost. НО, когда я создаю docker его образ и запускаю контейнер на локальном хосте, он всегда выдает следующую ошибку:
Traceback (most recent call last):
File "./app.py", line 2, in <module>
from application import db, application
ModuleNotFoundError: No module named 'application'
Он имеет следующую структуру каталогов
MyFlaskAPI
|
-Application
|
- __init__.py
|
-Models
|
-Model.py
|
-- Other project folders e.g. template, include, libs etc
|
- app.py
- config.py
- requirements.txt
- Dockerfile
- Few other config files
init .py выглядит следующим образом:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy(app)
app.py выглядит следующим образом:
from flask import request
from application import db, app
from model.models import FirstModel, SecondItemModel, ThirdModel
Docker файл выглядит следующим образом:
FROM python:3
ADD app.py /
ADD requirements.txt /
RUN pip install -r requirements.txt
#EXPOSE 5000
CMD [ "python", "./app.py", "--host", "0.0.0.0"]
dockerfile
FROM python:3
ADD app.py /
ADD requirements.txt /
RUN pip install -r requirements.txt
#EXPOSE 5000
CMD [ "python", "./app.py", "--host", "0.0.0.0"]
Любые предложения / помощь приветствуются.