我正在尝试使用新的“args”属性将变量传递给Dockerfile构建。但是yaml解析器不接受参数。
ERROR: yaml.scanner.ScannerError: mapping values are not allowed here
对于docker-compose.yml的第2版,要求是docker-compose 1.6+和docker-engine 1.10+,我已经安装了它们。
这是我的docker-compose文件的一部分:
version: '2'
services:
solr:
build: ./solr
args:
solr_port: 8983
volumes:
- ./apps/solr-conf:/opt/solr/server/solr
ports:
- 8983:8983
错误指的是“args”行。
答案 0 :(得分:5)
此处的问题是build
字段应指定为构建上下文的路径,或者指定为具有选项的对象,但不能同时指定两者。如果您要使用args
字段,则必须在context
字段中指定构建的路径。
检查下面应该如何:
version: '2'
services:
solr:
build:
context: ./solr
args:
solr_port: 8983
volumes:
- ./apps/solr-conf:/opt/solr/server/solr
ports:
- 8983:8983