reactjs - 使用 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 脚本是否适合在生产构建中运行应用程序?
解决方案
如果您询问如何运行图像,您只需执行docker build -t client .
, 然后docker run client
. 您Dockerfile
不适用于 prod 环境,因为它以root
. 您应该在最后一行之前添加以下行。
RUN adduser -D user
USER user
推荐阅读
- python - 从字典的每个数据框中提取具有相同名称的列
- google-places-api - 我如何在 Google Places 评论表单中添加新评论(在查询参数上预设)
- typescript - TS - 将对象数组缩减为一个对象
- google-sheets - 在交替行中填写公式
- django - 如何在 Django 中使用另一个模板引擎
- mongodb - 为幂等性保留 Stripe webhook 事件记录多长时间?
- android - Xcode 启动时出现 CoreSimulator 框架过期错误
- responsive-design - 响应式图像和视频我们是否也应该以编程方式减小尺寸和尺寸?
- vue.js - 日期选择器中带有时刻 js 的无效日期
- android - Fragment onAttach Context 不是 Activity 的场景