如何在 docker-compose.yml 文件中使用 JSON 字符串

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

我总是遇到这个错误

yaml: line XX: mapping values are not allowed in this context

这是我的 yaml 文件的一部分(针对 zabbix)

  web-nginx:
    image: 'zabbix/zabbix-web-nginx-pgsql:alpine-trunk'
    restart: unless-stopped
    tty: true
    environment:
      ZBX_SERVER_HOST=xxx
      DB_SERVER_HOST=xxx
      POSTGRES_USER=xxx
      POSTGRES_PASSWORD=xxx
      POSTGRES_DB=xxx
      PHP_TZ=xxx
      ZBX_SSO_SETTINGS="{\"strict\": false, \"baseurl\": \"https://xxx\", \"use_proxy_headers\": true}"

我至少已经尝试过这些组合

  1. ZBX_SSO_SETTINGS="{"strict": false, "baseurl": "https://xxx", "use_proxy_headers": true}"
  2. "ZBX_SSO_SETTINGS={"strict": false, "baseurl": "https://xxx", "use_proxy_headers": true}"
  3. ZBX_SSO_SETTINGS='{"strict": false, "baseurl": "https://xxx", "use_proxy_headers": true}'
json docker docker-compose yaml zabbix
1个回答
0
投票

使用

- ZBX_SSO_SETTINGS="{\"strict\":false,\"baseurl\":\"https://xxx\",\"use_proxy_headers\":true}"

解决了这个问题,因此使用

-
=
、转义
"
并删除 json 的空格

可能是因为 yaml 依赖于空间?

© www.soinside.com 2019 - 2024. All rights reserved.