如何在Docker Compose文件环境变量中转义此JSON字符串?

如何在Docker Compose文件环境变量中转义此JSON字符串?,docker,docker-compose,yaml,escaping,Docker,Docker Compose,Yaml,Escaping,这是我的docker文件 version: '2.1' services: myservice: environment: - MYENVVAR={"1": "Hello"} 当我运行docker compose ERROR: yaml.parser.ParserError: while parsing a block mapping in "./my_docker_compose_.yml", line 6, column 9 expected <bloc

这是我的docker文件

version: '2.1'

services:
  myservice:
    environment:
      - MYENVVAR={"1": "Hello"}
当我运行
docker compose

ERROR: yaml.parser.ParserError: while parsing a block mapping
  in "./my_docker_compose_.yml", line 6, column 9
expected <block end>, but found '}'
  in "./my_docker_compose_.yml", line 6, column 111
错误:yaml.parser.parserror:在分析块映射时
在“/my_docker_compose_.yml”中,第6行第9列
应为,但找到“}”
在“/my_docker_compose_.yml”第6行第111列中

如何正确转义JSON对象,使其作为环境变量的值发送到容器中
MYENVVAR

您应该将此变量定义为: 'FOOBAR={“foo”:“bar”}'

简言之:

version: '3.3'
services:
    nginx:
        ports:
            - '80:80'
        volumes:
            - '/var/run/docker.sock:/tmp/docker.sock:ro'
        restart: always
        logging:
            options:
                max-size: 1g
        environment:
            - 'FOOBAR={"foo": "bar"}'
            - a=test
        image: nginx
docker缺陷跟踪系统也提出了类似的问题:

您可以在线验证或试验docker compose设置 通过访问网页: