【发布时间】:2020-11-30 16:47:55
【问题描述】:
我一直在阅读有关让 K8s 环境变量在 Next.js 应用程序中工作的其他问题,但到目前为止还没有被接受的答案。
我的应用在使用 .env.local 时运行良好,但在部署到 K8s 时出现错误(未定义)。
这是我的 next.config.js
module.exports = {
env: {
NEXT_PUBLIC_API_BASE_URL: process.env.NEXT_PUBLIC_API_BASE_URL,
},
};
K8s 环境:
谁能帮我让那个环境变量在我的 next.js 应用程序上工作?
现在我做了一个简单的技巧,就是在dockerfile上添加ARG和ENV,然后在我构建docker镜像时注入它
Dockerfile:
ARG NEXT_PUBLIC_API_BASE_URL
ENV NEXT_PUBLIC_API_BASE_URL=${NEXT_PUBLIC_API_BASE_URL}
【问题讨论】:
-
您在 Kubernetes 中看到的错误是什么?
-
@Rico 实际上不是错误,只是未定义的 NEXT_PUBLIC_API_BASE_URL
-
收到该消息时,您的 pod 是崩溃了还是仍在运行?
-
@Rico 我的问题是如何从 next.js 应用程序读取在 kubernetes 上设置的环境变量,当尝试从客户端读取 process.env.NEXT_PUBLIC_API_BASE_URL 时我得到了未定义
-
我想看看pod运行时是否可以调试
标签: docker kubernetes environment-variables next.js