Я добавляю приложение da sh в приложение flask. хотя он прекрасно работает при выполнении python dashapp.py
, он усложняется, когда я пытаюсь докеризировать целое.
Архитектура приложения следующая:
├── project
│ ├── app
│ │ ├── __init__.py
│ │ ├── views.py
│ │ ├── extensions.py
│ │ ├── static
│ │ ├── templates
│ │ ├── dashapp1
│ │ │ ├── callback.py
│ │ │ └── layout.py
│ │ └── ...
│ ├── dashapp.py
│ ├── requirements.txt
│ ├── .env
│ └── Dockerfile
И вот содержимое моего Dockerfile:
FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
ENV FLASK_APP=dashapp
ENV FLASK_ENV=development
COPY . /dashapp
WORKDIR /dashapp
RUN pip install -r requirements.txt
ENTRYPOINT ["python"]
CMD ["dashapp.py"]
Регистрация приложения da sh - одна в файле init .py:
def create_app():
server = Flask(__name__)
server.config.from_object(BaseConfig)
from app.dashapp1.layout import layout as layout1
from app.dashapp1.callbacks import register_callbacks as register_callbacks1
register_dashapp(server, 'Dashapp 1', 'dashboard', layout1, register_callbacks1)
register_extensions(server)
register_blueprints(server)
return server
Затем я создаю и запустите приложение:
docker build -t name_app .
docker run -p 5000:5000 name_ap
И получите следующую ошибку:
Traceback (most recent call last):
File "dashapp.py", line 6, in <module>
myapp = create_app()
File "/app/__init__.py", line 12, in create_app
from dashapp1.layout import layout as layout1
ImportError: No module named dashapp1.layout
Прошло несколько дней, так как я не могу понять, как настроить файл Docker, чтобы избежать этой проблемы Поэтому любая помощь будет высоко ценится!