reactjs - 来自 Docker 的网络 IP 不适用于 React + Vite.js,因此无法访问 k8s pod
问题描述
我有一个非常简单的 react typescript 应用程序,并且第一次使用 Vite 来替换 Webpack。
我有以下 vite.config.js:
server: {
watch: {
usePolling: true,
},
open: false,
host: '0.0.0.0',
},
并使用以下说明创建了一个 Dockerfile:
FROM node:latest
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
COPY ./build-prod ./build-prod
COPY ./node_modules ./node_modules
RUN npm install husky -g --production
RUN npm install esbuild-linux-arm64 --production
COPY . .
EXPOSE 3000
CMD ["npm", "run", "dev"]
当我现在运行时,docker run -p 3000:3000 hello-world-app-frontend
我可以访问我的应用程序,http://localhost:3000/
但打开网络地址http://172.17.0.3:3000/
只会加载一个无标题窗口。
我认为这对我来说尤其是一个问题,因为我想创建一个像这样的基本 Kubernetes 配置:
kind: Deployment
apiVersion: apps/v1
metadata:
name: hello-world-app-frontend
spec:
replicas: 2
selector:
matchLabels:
app: hello-world-app-frontend
template:
metadata:
labels:
app: hello-world-app-frontend
spec:
containers:
- name: hello-world-app-frontend
image: hello-world-app-frontend
imagePullPolicy: Never
ports:
- containerPort: 3000
restartPolicy: Always
kind: Service
apiVersion: v1
metadata:
name: hello-world-app-frontend
spec:
type: NodePort
ports:
- port: 3000
targetPort: 3000
protocol: TCP
nodePort: 31000
selector:
app: hello-world-app-frontend
但是从我的 Pod 打开 IP 地址在我的 Chrome 中没有返回任何内容(fe http://10.106.213.128:3000/)。
NAMESPACE NAME READY STATUS RESTARTS AGE
default pod/hello-world-app-frontend-77899b46d7-cc4td 1/1 Running 0 16h
default pod/hello-world-app-frontend-77899b46d7-vqtbz 1/1 Running 0 16h
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default service/hello-world-app-frontend NodePort 10.106.213.128 <none> 3000:31000/TCP 16h
有人可以给我一些提示,我可以如何从我的 k8s pod 访问 React 应用程序吗?
解决方案
推荐阅读
- python - Python 3 中真正的私有变量
- c++ - 联合函数 C++
- javascript - Stripe / Rails 问题:无效的源对象:必须是字典或非空字符串
- javascript - 减少 JavaScript 迭代
- android-studio - RecyclerView 只显示第一个数组索引
- google-cloud-ml - Google Cloud ML引擎-本地预测不输出任何东西(物体检测)
- android - 找不到来自maven.aliyun.com的support-v13.jar
- python - Beautifulsoup 获取未在汤中选择的元素
- git - 在 git add 和 git commit 之后,即使我只更改了 4 行,也有很多插入和删除
- javascript - 使用bookedmarked javascript更改表中所有值的值