如何在 docker-compose.yml 中创建挂载点

How create mount point in docker-compose.yml

我想为文件路径 /my/host/dir 创建挂载点。我在 docker-compose.yml

中创建卷
volumes:
  data-db: /my/host/dir

我尝试使用 db-data

postgres:
    image: postgres:14.2
    volumes:
      - db-data:/var/lib/postgresql/data

但我得到 ERROR: In file './docker-compose.yml', volume 'db-data' must be a mapping not a string.

我的docker-compose.yml:

version: '3.9'
services:
  postgres:
    image: postgres:14.2
    volumes:
      - db-data:/var/lib/postgresql/data

volumes:
  db-data: /home/db/ 
version: '3.9'
services:
  postgres:
    image: postgres:14.2
    volumes:
      - db-data:/var/lib/postgresql/data

volumes:
  db-data: 

注意根卷项下的已删除路径。根“卷”只指定它存在,而不是所在的路径。有关更多信息和可用配置选项列表,请查看文档:https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-configuration-reference

详细说明错误的含义...您可以这样指定音量:

volumes:
  db-data:
    external: true
    name: my-db-data

因此 docker 期望 db-data 之后 : 之后的“事物”是 key/value 映射。但是您提供了字符串 /home/db