Postgres Docker 持久化

Xha*_*ark 1 postgresql persistence configuration-files docker docker-compose

我刚开始使用码头工人,但我不明白一些事情。我只是使用 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:
Run Code Online (Sandbox Code Playgroud)

也许我应该使用卷?如何?

Tar*_*ani 5

每当您使用图像时。在http://hub.docker.com/上查看其文档。您正在使用的图像在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:
Run Code Online (Sandbox Code Playgroud)

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