如何在单个Docker-Compose设置中对Django和vite应用程序进行模拟? 我有一个与Vite应用程序相连的Django项目,我正在尝试设置Docker构成一起运行。但是,我在建造和运行容器时面临问题。 我正在使用...

问题描述 投票:0回答:0

django后端→在8000

上运行

vite前端→在3000上运行并连接到django 服务应使用Docker-Compose运行-build

  • ,但是,当我尝试运行Docker-Compose时 - 建造,我会收到几个错误,甚至码头工人都将在没有VITE工作的情况下构建。
  • sissue:
  • 运行Docker-compoper-Build时,我会遇到各种错误,包括:
为解决:未能阅读Dockerfile:Open Dockerfile:没有此类文件或目录

即使Django工作,Vite也无法在容器中正常启动。

我的文件目录:

For_Testing_Purpose-1/ django_project ┣ __pycache__ ┣ asgi.py ┣ settings.py ┣ urls.py ┣ wsgi.py ┗ __init__.py homepage ┣ migrations ┣ __pycache__ ┣ admin.py ┣ apps.py ┣ models.py ┣ tests.py ┣ urls.py ┣ views.py ┗ __init__.py templates ┗ home.html webapp ┣ dist ┃ ┣ .vite ┃ ┃ ┗ manifest.json ┃ ┣ assets ┃ ┃ ┗ tailwind-4t-_kGsy.css ┃ ┗ vite.svg ┣ node_modules ┣ public ┃ ┗ vite.svg ┣ src ┃ ┗ style.css ┣ .gitignore ┣ index.html ┣ package-lock.json ┣ package.json ┗ vite.config.ts .dockerignore db.sqlite3 docker-compose.yml Dockerfile manage.py requirements.txt
  • I使用django_vite在django和vite应用程序之间进行连接,并且在启动Vite并启动Django应用程序时,它可以很好地工作,但是在Docker中,我正在努力挣扎。
  • i我会提供我的dockerfile和docker-compose.yml,而不会添加任何nodejs或vite,因为我所有的adtemps都失败了:
  • dockerfile:

# Pull base image FROM python:3.13-slim-bullseye # Set environment variables ENV PIP_DISABLE_PIP_VERSION_CHECK 1 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Set work directory # WORKDIR /code/website_core WORKDIR /code # Install dependencies COPY ./requirements.txt . RUN pip install -r requirements.txt # Copy project COPY . .

docker-compose.yml

services: web: build: . command: python /code/manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - 8000:8000 depends_on: - db db: image: postgres:15 volumes: - postgres_data:/var/lib/postgresql/data/ environment: - "POSTGRES_HOST_AUTH_METHOD=trust" volumes: postgres_data:

运行Vite我去目录

cd webapp

然后 npm run dev

当然,我的方式有问题,但是我想弄清楚这一点,我正在挣扎!

我从一开始就尝试了什么:

verified Docker安装:

RanDocker运行Hello-World,以检查Docker是否在工作。
创建和构建后端和前端码头图像单独的图像:
trimed运行容器分别:

检查了docker-compose.yml和目录结构:

RANDOCKER-COMPOSE-建造并获得错误:未能解决:无法读取Dockerfile:Open Dockerfile:没有这样的文件或目录。 还看到了有关版本属性已过时的警告。
  1. 验证了Docker是否可以看到文件:

  2. 确保我在运行Docker-Compop-Build

    之前处于正确的目录
  3. 任期的Docker和Docker组成:

  4. 问题:
  5. 我如何正确设置Vite和Django在Docker中进行交流?
  6. 如果您想看一下,这是我的回购

    githubrepo

  7. 任何关于此的指导将不胜感激! 🚀

  8. 你的dockerfile

    FROM python:3.13-slim-bullseye as backend ENV PIP_DISABLE_PIP_VERSION_CHECK 1 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 WORKDIR /code COPY ./requirements.txt . RUN pip install -r requirements.txt COPY . . FROM node:15.12.0-buster AS frontend WORKDIR /webapp/ RUN --mount=type=cache,target=/root/.npm,rw \ --mount=type=bind,source=webapp/package.json,target=package.json \ --mount=type=bind,source=webapp/package-lock.json,target=package-lock.json \ npm ci COPY --link webapp/ . RUN npm run dev
  9. 您的Docker-Compose

    services: backend: build: context: . dockerfile: Dockerfile target: backend command: python /code/manage.py runserver 0.0.0.0:8000 volumes: - .:/code ports: - "8000:8000" depends_on: - db frontend: build: context: . dockerfile: Dockerfile target: frontend command: npm run dev volumes: - webapp:/webapp ports: - "3000:3000" db: image: postgres:15 volumes: - postgres_data:/var/lib/postgresql/data/ environment: - "POSTGRES_HOST_AUTH_METHOD=trust" volumes: postgres_data:

django docker docker-compose dockerfile vite
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.