Всякий раз, когда я пытаюсь запустить свое приложение локально, все работает нормально. Тем не менее, если я пытаюсь сделать docker-compose up
и получить доступ к приложению в Chrome, я получаю следующую ошибку прокси:
Ошибка прокси: не удалось запрос / импорт пакета от localhost: 3000 до http://127.0.0.1:5000/. См. https://nodejs.org/api/errors.html#errors_common_system_errors для получения дополнительной информации (ECONNREFUSED).
Я также заметил, что у меня есть отпечатки в Flask API, но они не отображаются. Я пытался выяснить, связано ли это, но не могу понять.
У меня есть прокси, предположительно правильно настроенный на package.json в папке приложения React:
"proxy": "http://127.0.0.1:5000/"
Это мой файл docker-compose:
version: '3'
services:
backend-aptoide-center:
build: ./backend-aptoide-center
expose:
- 5000
ports:
- 5000:5000
networks:
- same_network
volumes:
- ./backend-aptoide-center:/urs/src/app
environment:
- FLASK_ENV=development
- FLASK_APP=api
- FLASK_DEBUG=1
- LC_ALL=C.UTF-8
- LANG=C.UTF-8
- MONGO_URL=mongodb://127.0.0.1:27017/aptoidePVC
depends_on:
- mongodb
- frontend-aptoide-center
frontend-aptoide-center:
build: ./frontend-aptoide-center
expose:
- 3000
ports:
- 3000:3000
networks:
- same_network
volumes:
- ./frontend-aptoide-center/src:/usr/src/app/src
- ./frontend-aptoide-center/public:/usr/src/app/public
mongodb:
image: mongo
restart: always
ports:
- 27017:27017
volumes:
- 'mongo:/data/db'
networks:
- same_network
environment:
- MONGO_INITDB_DATABASE=aptoidePVC
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=example
volumes:
mongo:
networks:
same_network:
driver: bridge
Dockerfile для Flask API:
FROM ubuntu:latest
RUN apt-get update && apt-get install -y --no-install-recommends python3 python3-pip python3-dev build-essential python3-virtualenv
ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m virtualenv --python=/usr/bin/python3 $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
ENV PYTHONUNBUFFERED=1
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY requirements.txt /usr/src/app
RUN pip3 install -r requirements.txt
ENTRYPOINT [ "flask" ]
CMD [ "run" ]
И Dockerfile для приложения React:
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" ]