Postgres Docker 持久性

Postgres Docker Persistence

我刚开始使用 dockers,但我有些不明白。我只是使用 docker-compose 来使用 PostgreSQL 的基本图像,但我不知道如何在杀死 docker 甚至删除我的本地图像后使数据库中的数据持久化.这有可能吗?

这是我的实际 docker-compose.yml:

version: "3"
services: 
  pintaecolorea_bd:
    image: postgres
    environment:
      POSTGRES_PASSWORD: <PASSWORD>
      POSTGRES_USER: postgres
    ports: 
      - "1234:5432"
    networks: 
      - "service"
networks:
  service:

也许我应该使用卷?怎么样?

每当您使用图像时。在 http://hub.docker.com/. The image you are using has documentation on http://hub.docker.com/_/postgres

上查看其文档

文档提到数据保存在 /var/lib/postgresql/data

version: "3"
services: 
  pintaecolorea_bd:
    image: postgres
    environment:
      POSTGRES_PASSWORD: <PASSWORD>
      POSTGRES_USER: postgres
    ports: 
      - "1234:5432"
    networks: 
      - "service"
    volumes:
      - ./data:/var/lib/postgresql/
networks:
  service:

因此您将当前文件夹中的数据文件夹./data映射到/var/lib/postgresql/。当容器结束时,卷将被持久化