Docker-撰写 postgres 卷不持久

Docker-compose postgres volume not persisting

不知道为什么,我的 docker 撰写文件是:

services:
  db:
    image: "postgres:latest"
    ports:
      - "5432:5432"
    volumes:
      - ods:/var/postgresql/data
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=ods

volumes:
  ods:

当我这样做时 docker volume ls 我可以看到这条线

local postgres_ods

已创建(不知道为什么要在前面添加 postgres_)

然后我将创建一个 table,保存它,提交它,向其中添加一些数据。

做一个 docker compose down 然后做一个 docker compose up -d

我发现数据和 table 丢失了。

检查 postgres_ods 得到:

[
    {
        "CreatedAt": "2021-11-17T00:26:15Z",
        "Driver": "local",
        "Labels": {
            "com.docker.compose.project": "postgres",
            "com.docker.compose.version": "2.0.0",
            "com.docker.compose.volume": "ods"
        },
        "Mountpoint": "/var/lib/docker/volumes/postgres_ods/_data",
        "Name": "postgres_ods",
        "Options": null,
        "Scope": "local"
    }
]

我做错了什么?

映射了错误的文件夹,这就是数据未保留的原因:

version: "3.9"
services:
  db:
    image: "postgres:latest"
    ports:
      - "5432:5432"
    volumes:
      - ods:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=ods

volumes:
  ods: