gpt4 book ai didi

windows - Docker postgres 容器丢失了应该存储在卷中的数据

转载 作者:行者123 更新时间:2023-11-29 13:15:18 24 4
gpt4 key购买 nike

我在 Windows 上运行由以下 docker-compose 文件生成的 postgres 数据库。在运行 docker-compose up --build 之前,我使用 docker volume --name postgresdata --driver local 创建了一个 docker volume。后者是为了避免将 Windows 文件夹安装到 Postgres 中。

但是,当我运行 docker-compose down 然后运行 ​​docker-compose up --build 时,数据库是空的,这出乎我的意料。有什么想法或建议吗?

这是我正在使用的 docker-compose.yml 文件:

version: '3.0'

services:

db:
image: postgres:latest
restart: always
ports:
- 5432:5432
env_file:
- env_file
volumes:
- postgresdata
networks:
- db1

market_data:
build: .
environment:
PYTHONUNBUFFERED: 'true'
stdin_open: true
tty: true
links:
- db:db
container_name: market_data_container
volumes:
- '.:/market_data'
depends_on:
- db
networks:
- db1

adminer:
image: adminer
restart: always
ports:
- 8080:8080
networks:
- db1
depends_on:
- db


volumes:
market_data:
postgresdata:
external: true

networks:
db1:
driver: bridge

最佳答案

Postgres 已经使用了一个 volume保留数据,但是 docker-compose down 删除了这个卷。您在撰写文件中使用命名卷,但未正确安装它。

version: '3.0'
services:
db:
image: postgres:latest
restart: always
ports:
- 5432:5432
env_file:
- env_file
volumes:
- postgresdata:/var/lib/postgresql/data
networks:
- db1

将 postgres 数据的默认路径添加到您的卷 postgresdata:/var/lib/postgresql/data。这应该可以解决它。

关于windows - Docker postgres 容器丢失了应该存储在卷中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49989078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com