Фронтенд Angular не получает данные от бэкенда Django на контейнере Docker

У меня есть приложение, которое использует Angular (с Nginx), Django и MySQL. Каждый из них контейнеризирован отдельно на AWS Ubuntu instance. Я смог подключиться из контейнера Django к контейнеру Mysql и выполнить миграцию для Django. Ни страница входа не заполняется данными, ни я не могу войти в систему, используя учетные данные, хранящиеся в базе данных. Без docker все работает нормально, хотя если я устанавливаю его на систему ubuntu. Вот файлы Dockerfiles и docker-compose.yml для справки.

Dockerfile для frontend:

     # stage 1 -- download node image and build the frontend image 
      FROM node:12 as node 
      WORKDIR /app 
      COPY frontend/package.json ./ 
      RUN npm
      install -g @angular/cli
      RUN npm install 
      COPY frontend/. . 
      RUN ng build
      # stage 2 
      FROM nginx:alpine 
      COPY --from=node /app/dist /usr/share/nginx/html
      COPY frontend/nginx.conf /etc/nginx/conf.d/default.conf

Dockerfile для бэкенда:

FROM python:3.8

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /web


COPY backend/requirement.txt ./

# copy project
COPY backend/. .

RUN apt-get update
RUN apt-get --assume-yes install gcc
RUN apt-get install -y default-libmysqlclient-dev

RUN pip3 install -r requirement.txt

docker-compose.yml

version: "3.9"

services:
    db:
        image: mysql:5.7.21
        restart: always
        command: --default-authentication-plugin=mysql_native_password
        ports:
            - "3306:3306"
        environment:
            - MYSQL_DATABASE=database
            - MYSQL_USER=root
            - MYSQL_PASSWORD=root
            - MYSQL_ROOT_PASSWORD=root
        volumes:
            - data:/var/lib/mysql
    frontend:
        build:
            context: .
            dockerfile: ./frontend/Dockerfile
        restart: always
        ports:
            - "80:80"
        depends_on:
            - backend
        
    backend:
        build:
            context: .
            dockerfile: ./backend/Dockerfile
        command: python manage.py runserver 0.0.0.0:8000
        volumes:
            - .:/backend
        ports:
            - "8000:8000"
        depends_on:
            - db
volumes:
    data:

Все три контейнера запущены и ниже приведен журнал docker-compose, который я получаю, который выглядит нормально.

CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS                                       NAMES
dd15fc058b01   code_frontend   "/docker-entrypoint.…"   47 minutes ago   Up 47 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp           code_frontend_1
c29e00956296   code_backend    "python manage.py ru…"   47 minutes ago   Up 47 minutes   0.0.0.0:8000->8000/tcp, :::8000->8000/tcp   code_backend_1
089028d67654   mysql:5.7.21    "docker-entrypoint.s…"   47 minutes ago   Up 47 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp   code_db_1
db_1        | 2021-08-16T07:49:24.541130Z 0 [Note] InnoDB: Buffer pool(s) load completed at 210816  7:49:24
db_1        | 2021-08-16T07:49:24.547543Z 0 [Note] Event Scheduler: Loaded 0 events
db_1        | 2021-08-16T07:49:24.547819Z 0 [Note] mysqld: ready for connections.
db_1        | Version: '5.7.21'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)
frontend_1  | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
frontend_1  | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
frontend_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
frontend_1  | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
frontend_1  | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version
frontend_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
frontend_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
frontend_1  | /docker-entrypoint.sh: Configuration complete; ready for start up
frontend_1  | 2021/08/16 07:49:25 [notice] 1#1: using the "epoll" event method
frontend_1  | 2021/08/16 07:49:25 [notice] 1#1: nginx/1.21.1
frontend_1  | 2021/08/16 07:49:25 [notice] 1#1: built by gcc 10.3.1 20210424 (Alpine 10.3.1_git20210424)
frontend_1  | 2021/08/16 07:49:25 [notice] 1#1: OS: Linux 5.4.0-1045-aws
frontend_1  | 2021/08/16 07:49:25 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
frontend_1  | 2021/08/16 07:49:25 [notice] 1#1: start worker processes
frontend_1  | 2021/08/16 07:49:25 [notice] 1#1: start worker process 30
frontend_1  | 2021/08/16 07:49:25 [notice] 1#1: start worker process 31
backend_1   | Watching for file changes with StatReloader
backend_1   | Performing system checks...
backend_1   |
backend_1   | System check identified no issues (1 silenced).
backend_1   | August 16, 2021 - 07:49:28
backend_1   | Django version 3.1.2, using settings 'backend.settings'
backend_1   | Starting development server at http://0.0.0.0:8000/
backend_1   | Quit the server with CONTROL-C.

Я просмотрел несколько постов на stackoverflow, но ничего не помогает.

Любая помощь будет принята с благодарностью.

Вернуться на верх