“build”中的docker-compose 1.6“args”属性

时间:2016-02-07 22:00:03

标签: docker docker-compose

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

1 个答案:

答案 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