Как отлаживать докеризованное приложение Django-React?
Мое приложение Django-React отлично работает локально, но после того, как я докеризировал его и запустил оба контейнера Django и Nginx, все вызовы API (которые требуют токен) становятся неавторизованными.
Как мне отладить приложение, пока оно работает в Docker?
РЕДАКТИРОВАНИЕ:
Это Dockerfile для приложения Django: ########### # BUILDER # ###########
# pull official base image
FROM python:3.9 as builder
# set work directory
WORKDIR /usr/src/app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# install system dependencies
RUN apt-get update \
&& apt-get install python3-dev default-libmysqlclient-dev gcc -y \
&& apt-get clean
# install dependencies
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels -r requirements.txt
COPY . .
#########
# FINAL #
#########
# pull official base image
FROM python:3.9
# set work directory
WORKDIR /usr/src/app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV DEBUG 1
ENV DJANGO_ALLOWED_HOSTS localhost 127.0.0.1 [::1]
ENV EMAIL_HOST_USER ************
ENV EMAIL_HOST_PASSWORD **********
ENV SQL_ENGINE django.db.backends.mysql
ENV SQL_DATABASE DevPlanner_prod
ENV SQL_USER *****
ENV SQL_PASSWORD *******
ENV SQL_HOST 127.0.0.1
ENV SQL_PORT 3306
# install system dependencies
RUN apt-get update \
&& apt-get install python3-dev default-libmysqlclient-dev gcc -y \
&& apt-get clean
# install dependencies
COPY --from=builder /usr/src/app/wheels /wheels
COPY --from=builder /usr/src/app/requirements.txt .
RUN pip install --upgrade pip
RUN pip install --no-cache /wheels/*
# copy project
COPY . .
RUN mkdir -p /usr/src/app/logs
RUN mkdir -p /usr/src/app/run
RUN mkdir -p /usr/src/app/static
RUN mkdir -p /usr/src/app/media
VOLUME /usr/src/app/logs/
VOLUME /usr/src/app/run/
VOLUME /usr/src/app/static/
VOLUME /usr/src/app/media/
ENTRYPOINT [ "/usr/src/app/bin/gunicorn_start" ]
Nginx.conf:
upstream test_django {
server unix:/usr/src/app/run/gunicorn.sock
fail_timeout=0;
}
server {
listen 80;
server_name localhost;
client_max_body_size 4G;
access_log /usr/src/app/logs/nginx-access.log;
error_log /usr/src/app/logs/nginx-error.log;
location /static/ {
autoindex on;
alias /usr/src/app/static/;
}
location /media/ {
autoindex on;
alias /usr/src/app/media/;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://test_django;
}
# Error pages
error_page 500 502 503 504 /500.html;
location = /500.html {
root /usr/src/app/static/;
} }
Nginx dockerfile:
FROM nginx
WORKDIR /etc/nginx/
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d/
EXPOSE 80