在docker中包含环境变量并使用捆绑javascript运行
我有一个Dockerfile来构建应用程序,然后在第二个阶段将其置于nginx负载平衡器之后:在docker中包含环境变量并使用捆绑javascript运行,docker,kubernetes,Docker,Kubernetes,我有一个Dockerfile来构建应用程序,然后在第二个阶段将其置于nginx负载平衡器之后: 1 # builds a production image of website 2 3 FROM node:alpine AS builder 4 5 WORKDIR /tmp/build/ 6 COPY . . 7 8 CMD ["npm", "install"] 9 CMD ["npm", &q
1 # builds a production image of website
2
3 FROM node:alpine AS builder
4
5 WORKDIR /tmp/build/
6 COPY . .
7
8 CMD ["npm", "install"]
9 CMD ["npm", "run", "build"]
10
11
12 FROM nginx:1.19.0 AS application
13
14 COPY nginx.conf /etc/nginx/nginx.conf
15 COPY --from=builder /tmp/build/dist /var/app
我正在Kubernetes上运行这个Dockerfile,我想用它为运行这个映像的吊舱提供环境变量
问题
对于javascript构建,环境变量实际上只是在构建期间硬编码到包中,所以Dockerfile中的第9行。因为运行这个映像通常意味着我们已经通过了这个步骤,所以我错过了将环境变量放入构建的机会
问题
如何强制使用Kubernetes为每个新Pod重建整个Dockerfile,以便将当前环境插入到构建中?对于docker,我可以只使用-no cache标志,但我不确定Kubernetes对应的是什么
在构建期间,环境变量实际上只是硬编码到包中
一个非常常见的nodejs问题是一种方法,即应用程序将不再请求process.env转换为env'something'并解析为window.\uu env\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
你可能想在你的问题上添加一个标签,看看他们是如何解决这个问题的,因为这实际上不是docker问题,也不是kubernetes问题,真的