gpt4 book ai didi

python - 如何在 ReactJS Docker 中热重载

转载 作者:行者123 更新时间:2023-12-02 20:58:40 24 4
gpt4 key购买 nike

这听起来很简单,但我有这个问题。

我有两个 docker容器运行。一个是我的front-end其他是给我的backend服务。

这些是Dockerfile s 用于两种服务。

前端 Dockerfile :

# Use an official node runtime as a parent image
FROM node:8

WORKDIR /app

# Install dependencies
COPY package.json /app

RUN npm install --silent

# Add rest of the client code
COPY . /app

EXPOSE 3000

CMD npm start

后台 Dockerfile :
FROM python:3.7.7

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY server.py /usr/src/app
COPY . /usr/src/app

EXPOSE 8083

# CMD ["python3", "-m", "http.server", "8080"]
CMD ["python3", "./server.py"]

我正在使用 docker-compose.yaml 构建图像如下:
version: "3.2"

services:

frontend:
build: ./frontend
ports:
- 80:3000
depends_on:
- backend

backend:
build: ./backends/banuka
ports:
- 8080:8083

我怎样才能使这两项服务Update每当前端或后端发生变化时 ?

我找到了这个 repo,它是 reactjs 的样板。 , python-flaskposgresel ,表示已启用 Hot reload两个 reactjs前端和 python-flask后端。但我找不到与此相关的任何东西。有人能帮我吗?

repo link

我想要的是: 每次代码更改后,容器应该自动更新!

最佳答案

在你的 docker-compose.yml 中试试这个

version: "3.2"

services:

frontend:
build: ./frontend
environment:
CHOKIDAR_USEPOLLING: "true"
volumes:
- /app/node_modules
- ./frontend:/app
ports:
- 80:3000
depends_on:
- backend

backend:
build: ./backends/banuka
environment:
CHOKIDAR_USEPOLLING: "true"
volumes:
- ./backends/banuka:/app
ports:
- 8080:8083

基本上,您需要 chokidar 环境来启用热重载,并且您需要卷绑定(bind)以使您机器上的代码与容器中的代码通信。看看这是否有效。

关于python - 如何在 ReactJS Docker 中热重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61576659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com