Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 作为命令行参数的docker compose环境变量的正确格式_Bash_Docker Compose_Yaml - Fatal编程技术网

Bash 作为命令行参数的docker compose环境变量的正确格式

Bash 作为命令行参数的docker compose环境变量的正确格式,bash,docker-compose,yaml,Bash,Docker Compose,Yaml,我有以下docker compose服务: maxwell: image: zendesk/maxwell:latest restart: always environment: # <irrelevant config here> MAXWELL_PRODUCER: stdout MAXWELL_OPTIONS: >- # <irrelevant config here>

我有以下docker compose服务:

  maxwell:
    image: zendesk/maxwell:latest
    restart: always
    environment:
      # <irrelevant config here>
      MAXWELL_PRODUCER: stdout
      MAXWELL_OPTIONS: >-
        # <irrelevant config here>
        --filter="exclude:*.*"
此映像运行的服务器Maxwell没有启动,因为它抱怨选项格式错误。但是,如果我SSH到映像中(使用
docker compose运行maxwellbash
),并输入上面的过滤器选项(与写入的完全相同),服务器将正常启动

我尝试解析上面的YAML并查看字符串。它看起来是正确的,所以我认为这不是YAML格式问题


什么可能导致命令行选项损坏?

如您所示,
#..
是罪魁祸首,因为它被解析为块标量内的内容(而不是注释)。不过,我想你是想删除不相关的内容。是的,对不起,我应该说清楚。你是对的,这不是一个好的评论,但是里面有很多不相关的配置