nextjs+Dockerfile:环境变量传递给 nextjs.config.js
nextjs+Dockerfile: env variables pass to nextjs.config.js
我有一个next.config.js
module.exports = {
.........
env: {
BASE_URL: 'http://xx.xx.xx.xx:8000',
},
............
};
现在我想在构建 docker 图像时更改 BASE_URL
我的Dockerfile
文件
FROM node:16-alpine3.14
WORKDIR /usr/app
COPY ./package.json ./
RUN yarn install
ENV BASE_URL=http://yy.yyy.yy.yy:80
# Copy all files
COPY ./ ./
RUN yarn build
所以在 Dockerfile 中传递 ENV BASE_URL=http://yy.yyy.yy.yy:80
将有助于更改 next.config.js
中的 BASE_URL: 'http://xx.xx.xx.xx:8000'
或者我可以用什么方式改变 BASE_URL
ENV BASE_URL=http://yy.yyy.yy.yy:80
在你的 docker 文件中会设置一个环境变量 BASE_URL
到它的值,你需要为那个变量读取它。
//next.config.js
module.exports = {
.........
env: {
BASE_URL: process.env.BASE_URL || 'http://xx.xx.xx.xx:8000', //read the value from env id empty use default value.
},
............
};
我有一个next.config.js
module.exports = {
.........
env: {
BASE_URL: 'http://xx.xx.xx.xx:8000',
},
............
};
现在我想在构建 docker 图像时更改 BASE_URL
我的Dockerfile
文件
FROM node:16-alpine3.14
WORKDIR /usr/app
COPY ./package.json ./
RUN yarn install
ENV BASE_URL=http://yy.yyy.yy.yy:80
# Copy all files
COPY ./ ./
RUN yarn build
所以在 Dockerfile 中传递 ENV BASE_URL=http://yy.yyy.yy.yy:80
将有助于更改 next.config.js
BASE_URL: 'http://xx.xx.xx.xx:8000'
或者我可以用什么方式改变 BASE_URL
ENV BASE_URL=http://yy.yyy.yy.yy:80
在你的 docker 文件中会设置一个环境变量 BASE_URL
到它的值,你需要为那个变量读取它。
//next.config.js
module.exports = {
.........
env: {
BASE_URL: process.env.BASE_URL || 'http://xx.xx.xx.xx:8000', //read the value from env id empty use default value.
},
............
};