首先在 React app 工程目录中添加 Dockerfile:
1. Dockerfile:
FROM node:16
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
使用 node:16
是因为使用 node:17
或者 node:18
都会出现如下的错误信息:
Error: error:0308010C:digital envelope routines::unsupported
2. 构建此app 的image:
docker build -t goals-react .
(此命令在我的 windows 上要跑 15 分钟以上)
3. 创建并运行 React app 容器
命令必须加 -it
选项,以交互模式运行此 app:
docker run --name goals-frontend --rm -d -p 3000:3000 -it goals-react
浏览器输入 localhost:3000
就可以看到 app 运行界面。