【问题标题】:Passing env variables at runtime without quotes在运行时不带引号传递 env 变量
【发布时间】:2019-09-25 04:54:55
【问题描述】:

在 docker 运行时传递环境时,我的环境变量用引号括起来。如何在不引用环境变量的情况下设置环境变量?

我这样设置环境; docker run server -e NODE_ENV=dev

上述命令的输出:

节点 dist/server.js "NODE_ENV=dev"

这是我的 Dockerfile 中的一个 sn-p

FROM base AS release
# copy production node_modules
COPY --from=dependencies /root/app/prod_node_modules ./node_modules
# copy app sources
COPY . .
# expose port and define CMD
EXPOSE 3000
ENTRYPOINT ["npm", "run", "start:prod"]

【问题讨论】:

标签: docker dockerfile containers


【解决方案1】:

首先我觉得你docker run命令的顺序有问题。

-e 选项应该在你的 docker 镜像名称之前,像这样

docker run -e NODE_ENV=dev server

如果仍然没有帮助,请尝试docker run--env-file 选项。

docker run --env-file /path/to/server.env server

server.env

NODE_ENV=dev

【讨论】:

  • 啊,谢谢伙计。总是小事。这两个命令都对我有用。
猜你喜欢
  • 2019-05-27
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多