当我构建docker镜像并运行容器时,双引号将从我的环境变量中删除。
这是我的Dockerfile:
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显示引号已删除:
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对象。
发布于 2021-06-08 05:14:18
尝尝这个
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}}'https://stackoverflow.com/questions/67878658
复制相似问题