reactjs - 对 reactjs 应用程序的挂载路径所做的更改不会反映在 Web UI 中
问题描述
这是我用于为 kubernetes/openshift 部署构建映像的 dockerfile:
FROM node:8.11.4
RUN mkdir /app
WORKDIR /app
COPY package.json .
RUN npm install
COPY src src
COPY public public
EXPOSE 3000
CMD ["npm", "start"]
此应用程序的源代码克隆自:https ://github.com/nodeshift-starters/react-web-app
这是我的部署 yaml:
apiVersion: v1
kind: DeploymentConfig
metadata:
name: 'react-app'
labels:
app: 'react-app'
spec:
template:
spec:
initContainers:
- name: init-react
imagePullPolicy: IfNotPresent
image: "docker-registry.default.svc:5000/${NAMESPACE}/react-app"
command: ["sh", "-c"]
args: ["cp -n -r /app/* /tmp/app; sleep 1; ls -al"]
volumeMounts:
- mountPath: /tmp/app
name: react-storage-volume
containers:
- image: 'react-app:latest'
name: 'react-app'
securityContext:
privileged: false
ports:
- containerPort: 3000
name: http
protocol: TCP
resources:
limits:
memory: 500Mi
volumeMounts:
- name: react-storage-volume
mountPath: /app
volumes:
- name: react-storage-volume
persistentVolumeClaim:
claimName: "${pv_react}-claim"
metadata:
labels:
app: 'react-app'
replicas: 1
selector:
app: 'react-app'
triggers:
- type: ConfigChange
- type: ImageChange
imageChangeParams:
automatic: true
containerNames:
- 'react-app'
from:
kind: ImageStreamTag
name: 'react-app:latest'
被/app
挂载到 nfs 挂载路径:/mnt/k8sMount/react-data/
。
观察结果是,每当对 NFS 挂载路径进行更改时src/App.js
,它都会更新到 pod(我已对 pod 执行并检查了其内容),但是当浏览器中刷新 Web UI 时,不会显示更改. 另一个观察结果是,如果 pod 内部发生更改,src/App.js
那么在浏览器中刷新 Web UI 时,更改就会出现。
由于我希望src/App.js
对 NFS 挂载路径所做的更改反映在 Web UI 中,因此请向我建议部署是否有任何问题或是否有任何替代方法来实现此目的。提前致谢。
解决方案
推荐阅读
- regex - 正则表达式模式表达式缺少变化
- node.js - 更快地处理 WebSocket 数据
- c++ - unordered_map 结构化绑定中的推导类型
- xamarin.forms - 嗨,我需要使用 XFMaterial 插件更改 xamarin 表单中的 materialtextfield 对话框选项标题和按钮颜色
- azure - 如何默认 Azure `az` cli 使用 `--query [].name`?
- sas - SAS将带有日期的垂直数据转换为水平数据
- vuejs2 - 如何删除输入查询值文本
- azure-active-directory - 无法使用 beta Graph API 创建带密码的 AAD 应用程序
- webpack - Webpack错误:规则只能有一个结果源(提供使用和加载器)
- ios - 在 SwiftUI 中,我如何知道 Picker 选择何时更改?为什么 didSet 不起作用?