首页 > 解决方案 > Django,以及在单个 Digital Ocean Droplet 中的 Docker 内的 React:400 Bad Request for Django,React 工作正常

问题描述

我在同一个 Docker 容器中使用 Django 和 React,docker-compose.yml并在运行 Ubuntu 的 Digital Ocean Droplet 中运行该容器。当我导航到http://my_ip_address:3000这是 React 应用程序时,它工作得很好,但是当我导航到http://my_ip_address:8000这是 Django 应用程序时,我从服务器收到 400 Bad Request 错误.

项目/后端/Dockerfile

FROM python:3.7

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /nerdrich

COPY Pipfile Pipfile.lock /nerdrich/
RUN pip install pipenv && pipenv install --system

COPY . /nerdrich/
EXPOSE 8000

项目/前端/Dockerfile

# official node.js runtime for Docker
FROM node:12
# Create and set the directory for this container
WORKDIR /app/
# Install Application dependencies
COPY package.json yarn.lock /app/
RUN yarn install --no-optional
# Copy over the rest of the project
COPY . /app/

# Set the default port for the container
EXPOSE 3000

CMD yarn start

项目/docker-compose.yml

version: "3"

services:
  web:
    build: ./back-end
    command: python /nerdrich/manage.py runserver
    volumes:
      - ./back-end:/nerdrich
    ports:
      - "8000:8000"
    stdin_open: true
    tty: true
  client:
    build: ./front-end
    volumes:
      - ./front-end:/app
      - /app/node_modules
    ports:
      - '3000:3000'
    stdin_open: true
    environment:
      - NODE_ENV=development
    depends_on:
      - "web"
    command:
      yarn start

项目/后端/nerdrich/.env

ALLOWED_HOSTS=['165.227.82.162']

如果需要,我可以提供任何其他信息。

标签: djangoreactjsdockerserver

解决方案


推荐阅读