Bash 作为命令行参数的docker compose环境变量的正确格式
我有以下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>
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格式问题
什么可能导致命令行选项损坏?如您所示,
#..
是罪魁祸首,因为它被解析为块标量内的内容(而不是注释)。不过,我想你是想删除不相关的内容。是的,对不起,我应该说清楚。你是对的,这不是一个好的评论,但是里面有很多不相关的配置