我正在尝试使用新的“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/

10-16 23:15