docker-为 React js 编写退出代码 0

docker-compose up exit with code 0 for react js

我正在尝试将 docker 用于 MERN 项目。我已经在客户端和服务器中创建了 Dockerfile,并在根文件夹中创建了 docker-compose.yml。 我执行了代码docker-compose build。它执行时没有任何错误。然后我 运行 docker-compose up, node 和 mongodb 运行 成功但反应 js 退出代码 0.

客户端的 Dockerfile

# build environment
FROM node:12.18.2-alpine

RUN mkdir -p /opt/app/ps-client

WORKDIR /opt/app/ps-client

# install app dependencies
COPY package.json .
# COPY package-lock.json .

RUN npm install

COPY . .

EXPOSE 3000


CMD [ "npm", "run", "start"]

docker-compose.yml

version: "3.8" # specify docker-compose version

# Define the services/ containers to be run
services:
  back-end: # name of the first service
    build: server # specify the directory of the Dockerfile
    ports:
      - "5000:5000" #specify ports mapping
    links:
      - database # link this service to the database service

  database: # name of the third service
    image: mongo # specify image to build container from
    ports:
      - "27017:27017" # specify port forwarding

  front-end: # name of the second service
    build: client # specify the directory of the Dockerfile
    ports:
      - "3000:3000" # specify port mapping

我尝试了 docker-compose --verbose up 仅用于 React js,result

docker 容器检查 b9e429 此命令的结果是 result

尝试将以下选项添加到 docker 撰写文件中的 front-end 服务配置。

stdin_open: true
tty: true

这应该等同于 运行 具有 -it 选项的容器。

您可以在此处阅读有关此问题的更多信息:https://github.com/facebook/create-react-app/issues/8688

tty: true 添加到您的前端服务就足够了。该问题的完整上下文描述于:https://github.com/facebook/create-react-app/issues/8688,如 Teddy Sterne

所述