我正在尝试使用新的“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”行。
最佳答案
这里的问题是,应将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
关于docker-compose 1.6 "args"上的 "build"属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35259647/