web-dev-qa-db-ja.com

エラー:ファイル './docker-compose.yml'では、サービス 'volumes'は配列ではなくマッピングでなければなりません

私のdocker-compose.ymlは次のようになり、dockerレジストリドキュメント here の構成ファイルを追跡しようとしています。 docker-compose upを実行すると、次のエラーが表示されます。

エラー:ファイル './docker-compose.yml'では、サービス 'volumes'は配列ではなくマッピングでなければなりません。

registry:
  restart: always
  image: sudarshan/registry
  ports:
    - 5000:5000
environment:
  REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt
  REGISTRY_HTTP_TLS_KEY: /certs/domain.key
  REGISTRY_AUTH: silly
  REGISTRY_AUTH_SILLY_SERVICE: SILLY_SERVICE
  REGISTRY_AUTH_SILLY_REALM: SILLY_REALM
volumes:
  - /usr/certs:/certs

私のドッカーのバージョンは

Dockerバージョン1.12.1、ビルド23cf638

docker-composeバージョンは

docker-composeバージョン1.7.1、ビルド0a9ab35

Ubuntu 16.04で実行する

編集:

また試した

registry:
  restart: always
  image: sudarshan/registry
  ports:
    - 5000:5000
environment:
  REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt
  REGISTRY_HTTP_TLS_KEY: /certs/domain.key
  REGISTRY_AUTH: silly
  REGISTRY_AUTH_SILLY_SERVICE: SILLY_SERVICE
  REGISTRY_AUTH_SILLY_REALM: SILLY_REALM
volumes:
    - /usr/certs:/certs
30
Sudarshan

問題は、フィールドを適切にインデントしていないことです。 docker-composeは次のようになります。

registry:
  restart: always
  image: sudarshan/registry
  ports:
    - 5000:5000
  environment:
    REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt
    REGISTRY_HTTP_TLS_KEY: /certs/domain.key
    REGISTRY_AUTH: silly
    REGISTRY_AUTH_SILLY_SERVICE: SILLY_SERVICE
    REGISTRY_AUTH_SILLY_REALM: SILLY_REALM
  volumes:
    - /usr/certs:/certs
40
JesusTinoco