如何在 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
我正在尝试 运行 我的本地 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