通过 docker 文件在生产中设置 NODE_ENV 变量

Hac*_*ker 0 node.js docker dockerfile

我正在尝试在 nodejs 中使用下面的代码

if (process.env.NODE_ENV !== 'production')
Run Code Online (Sandbox Code Playgroud)

我试图从 docker 文件中设置 NODE_ENV 变量,如下所示。

FROM collinestes/docker-node-oracle:10-slim
ENV NODE_ENV=production
EXPOSE  8085
CMD ["npm","start"]
Run Code Online (Sandbox Code Playgroud)

如果我运行我的 docker 镜像,它不会启动并抛出错误。如果我删除 NODE_ENV 一切正常。这是从 dockerfile 设置 NODE_ENV 的正确方法吗?

小智 6

去掉等号

ENV NODE_ENV production
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下,语法不是问题,`ENV` 支持两种样式,如下所示:https://docs.docker.com/engine/reference/builder/#env (3认同)