运行节点应用程序时使用环境变量的 Docker CMD

问题描述 投票:0回答:1

我需要将环境变量传递给节点,如下所示。

RAZZLE_ENV=production node build/server.js

如何使用 docker CMD 命令实现此目的。我当前的配置是这样的:

CMD [ 'node', 'build/server.js' ]

我确实将其更改为:

CMD [ 'RAZZLE_ENV=production node', 'build/server.js' ]

但是它没有按预期工作,甚至不会创建容器。

更新:错误是:

Cannot find module /app/RAZZLE_ENV=production node
node.js docker docker-cmd
1个回答
3
投票

Dockerfile

# Use ARG so that it can be overridden at build time 
ARG ARG_RAZZLE_ENV=development

# Set environment variable based on ARG
ENV RAZZLE_ENV=$ARG_RAZZLE_ENV

CMD [ 'node', 'build/server.js' ]

在构建过程中传递 ARG:

docker build --build-arg ARG_RAZZLE_ENV=production . -t name:tag
© www.soinside.com 2019 - 2024. All rights reserved.