运行 docker-compose 时,“volumes‘type’是必需属性”

运行 docker-compose 时,“volumes‘type’是必需属性”

我正在努力了解 docker-compose.yaml 的工作原理。我试图在 Compose 文件中定义一个卷并将其挂载到本地的挂载点。我尝试运行一个基本的 .yaml 来挂载我的卷:

version: '3.2'
services:
      mydb:
        image: postgres
        volumes:
          - db-data:var/lib/postgres/data
        ports:
          - "5432:5432"
        volumes:
          - db-data:
          - driver: local

但是当我运行时docker-compose down,出现错误:

$ docker-compose down
The Compose file '.\docker-compose.yml' is invalid because:
services.mydb.volumes 'type' is a required property
services.mydb.volumes 'type' is a required property

我是新手,仍在理解使用 Docker 的所有细微差别。我认为我的问题在于缩进错误,或者我如何使用扩展名调用版本号,但我似乎无法理解错误。

答案1

复合文件对空格敏感(这是 yaml 格式)。复合文件中有两个不同的卷部分,一个卷在缩进的顶层定义,另一个卷在服务中使用。您尝试在服务中定义这两个卷,但第二组卷在定义如何使用卷时定义不正确(它需要目标目录)。以下是您要尝试的操作:

version: '3.2'
services:
      mydb:
        image: postgres
        volumes:
          - db-data:var/lib/postgres/data
        ports:
          - "5432:5432"
volumes:
  db-data:

相关内容