如何在 Docker 中获得一个 React 项目 运行?

How to get a React Project running in Docker?

我正在尝试 运行 我的本地 React 项目 Docker。这是我项目的配置和文件夹结构

  |- public
  | |- index.html
  |- src
  | |- Routes.jsx #can it be because this is not App.js?
  | |- index.js
  |- docker-compose.yml
  |- Dockerfile
  ...

docker-compose.yml

version: "3.7"
services:
  react-dev:
    container_name: sample_container
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3001:3000"
    volumes:
      - ".:/app"
      - "/app/node_modules"
    environment:
      - NODE_ENV=development

Docker文件

FROM node:alpine
WORKDIR /app
COPY yarn.lock /app/yarn.lock
RUN yarn install --silent
RUN yarn add react-scripts@3.0.1 -g --silent
ENV PATH /app/node_modules/.bin:$PATH
COPY . /app
RUN yarn
CMD ["yarn", "start"]

我成功构建并成功标记 "Project is running at http....." 但是当我访问 link 时,我的项目没有呈现。我确定我的 Docker 文件中遗漏了某些内容,因为它不能正确地 运行...

您提到您访问了 link。但是 link 是由应用 容器内创建的。

例如The application is now running on http://localhost:3000,3000 - 是容器内的一个端口。你把它安装在你机器的 3001 端口上:

# docker-compose.yml

ports:
  - "3001:3000"

所以正确的link是http://localhost:3001