首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Docker要从我的环境变量中删除双引号?

为什么Docker要从我的环境变量中删除双引号?
EN

Stack Overflow用户
提问于 2021-06-08 05:02:19
回答 1查看 93关注 0票数 1

当我构建docker镜像并运行容器时,双引号将从我的环境变量中删除。

这是我的Dockerfile:

代码语言:javascript
复制
FROM node:15

WORKDIR /usr/src/app

RUN mkdir -p /usr/src/app/logs

COPY package*.json ./

RUN npm install

COPY . .

# Timezone
ENV TZ America/Chicago

### Edges
ENV MONITORING_EDGE_THRESHOLDS={"onlineStatus":"OFFLINE","processors":{"critical":90,"degraded":75},"memory":{"critical":90,"degraded":75},"disks":{"critical":90,"degraded":75},"subsystems":{"critical":200,"degraded":100},"networks":{"critical":2,"degraded":1}}

CMD [ "node", "server.js" ]

Docker inspect显示引号已删除:

代码语言:javascript
复制
MONITORING_EDGE_THRESHOLDS

{onlineStatus:OFFLINE,processors:{critical:90,degraded:75},memory:{critical:90,degraded:75},disks:{critical:90,degraded:75},subsystems:{critical:200,degraded:100},networks:{critical:2,degraded:1}}

随后,我的node.js应用程序失败了,因为我需要使用JSON.parse()将这个值转换为JSON对象,这不起作用,因为Docker删除了引号,所以它不是有效的JSON对象。

EN

回答 1

Stack Overflow用户

发布于 2021-06-08 05:14:18

尝尝这个

代码语言:javascript
复制
ENV MONITORING_EDGE_THRESHOLDS='{"onlineStatus":"OFFLINE","processors":{"critical":90,"degraded":75},"memory":{"critical":90,"degraded":75},"disks":{"critical":90,"degraded":75},"subsystems":{"critical":200,"degraded":100},"networks":{"critical":2,"degraded":1}}'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67878658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档