docker-在 "build" 上编写 1.6 "args" 属性

docker-compose 1.6 "args" attribute on "build"

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