我需要将环境变量传递给节点,如下所示。
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
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