首页 > 解决方案 > 使用 Docker 创建反应应用程序而不使用 Nodejs 提供文件

问题描述

在不使用 NodeJs 提供静态文件的情况下,我正在尝试构建 Docker 映像以创建具有以下文件夹结构的反应应用程序

sampleapp -
          client
            src
            ...
          DockerFile

所以客户端是由create-react-app 客户端构建的,应用程序只是消费服务并渲染它。

Dockerfile:

FROM node:10.15.1-alpine
COPY . /var/panda/client
WORKDIR /var/panda/client
RUN  npm install --no-cache && npm run build
EXPOSE 4000 
CMD ["npm", "start"]

如何在本地和产品中启动 Docker 容器,上面的 Docker 脚本是否适合在生产构建中运行应用程序?

标签: reactjsdocker

解决方案


如果您询问如何运行图像,您只需执行docker build -t client ., 然后docker run client. 您Dockerfile不适用于 prod 环境,因为它以root. 您应该在最后一行之前添加以下行。

RUN adduser -D user
USER user

推荐阅读