Отказ в подключении при доступе к контейнеру Nginx из контейнера React
Я пытаюсь запустить приложение Django-React в докере, когда я начинаю тестировать приложение React, появляется эта ошибка.
FetchError: request to http://localhost/media/filer_public/03/58/0358cfac-1ac5-4caa-8b6b-bd20361dd878/import_filesa0a0b76730363b11ebb8a73cf86249c70c_b167f69b364a11ebb8a73cf86249c70c.jpg failed, reason: connect ECONNREFUSED 127.0.0.1:80
Обратите внимание на _next
Как я понимаю, внутри контейнера React есть запрос на localhost:80
, но поскольку в этом контейнере нет такого адреса, возникает это исключение.
Изображения, которые являются просто запросом на localhost:80/media/filer.../
, получают ответ.
Пример запроса изображения, который работает
<img src="http://localhost/media/filer_public/03/58/0358cfac-1ac5-4caa-8b6b-bd20361dd878/import_filesa0a0b76730363b11ebb8a73cf86249c70c_b167f69b364a11ebb8a73cf86249c70c.jpg" />
На данный момент я передаю api адрес аналогичным образом через .env файл
BACKEND_ADDRESS=localhost:80
Можно ли передать адрес контейнера Nginx контейнеру React? Или есть другие способы решения проблемы?
docker-compose.yml
version: "3.8"
services:
nginx:
restart: unless-stopped
build:
context: .
dockerfile: ./nginx/Dockerfile
ports:
- 80:80
volumes:
- media:/code/media/
- static:/code/staticfiles/
- ./nginx/conf:/etc/nginx/conf.d
depends_on:
- app
networks:
- backend
db:
image: postgres:latest
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
networks:
- backend
app:
container_name: django_app
build: .
command: gunicorn project.wsgi:application --bind 0.0.0.0:8000 --reload --workers=4 --threads=4 --access-logfile -
ports:
- 8000:8000
volumes:
- .:/code
- media:/code/media/
- static:/code/staticfiles/
depends_on:
- db
networks:
- backend
redis:
image: "redis:latest"
hostname: redis
ports:
- 6379:6379
networks:
- backend
celery:
build: .
command: celery -A project worker -l info
volumes:
- .:/code
links:
- redis
depends_on:
- db
- redis
- app
networks:
- backend
frontend:
build:
context: .
dockerfile: ./frontend/Dockerfile
ports:
- 3000:3000
depends_on:
- app
networks:
- backend
volumes:
- .:/code
links:
- nginx
networks:
backend:
driver:
bridge
volumes:
db-data:
media:
static: