У меня есть приложение реакции, которое взаимодействует с API фляги и отображает данные. У меня были оба этих проекта в отдельных папках, и все работало нормально.
Затем я захотел контейнировать приложение Flask + React с помощью docker-compose для практики, а затем я создал папку, в которой у меня есть папки middleware (flask) и frontend (реагировать). Затем я создал виртуальную среду и установил колбу. Теперь, когда я импортирую флягу внутри файла Python, я получаю сообщение об ошибке.
Я не понимаю, почему простое добавление папки в другую папку повлияет на мой проект. Вы можете увидеть структуру проекта и ошибки на рисунке ниже.
Приложение реакции Dockerfile
FROM node:latest
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
CMD [ "npm", "start" ]
Колба Dockerfile API
FROM python:3.7.2
# set working directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# add requirements (to leverage Docker cache)
ADD ./requirements.txt /usr/src/app/requirements.txt
# install requirements
RUN pip install -r requirements.txt
# add app
ADD . /usr/src/app
# run server
CMD python app.py runserver -h 0.0.0.0
докер-compose.yml
version: '3'
services:
middleware:
build: ./middleware
expose:
- 5000
ports:
- 5000:5000
volumes:
- ./middleware:/usr/src/app
environment:
- FLASK_ENV=development
- FLASK_APP=app.py
- FLASK_DEBUG=1
frontend:
build: ./frontend
expose:
- 3000
ports:
- 3000:3000
volumes:
- ./frontend/src:/usr/src/app/src
- ./frontend/public:/usr/src/app/public
links:
- "middleware:middleware"