gpt4 book ai didi

postgresql - Docker compose fiware WireCloud 数据持久性未从卷加载

转载 作者:行者123 更新时间:2023-11-29 13:16:58 34 4
gpt4 key购买 nike

我正在为我的 FiWare WireCloud 使用 docker 容器。它工作正常,但是当我用 docker compose down 停止我的容器并用 docker compose up 重新启动它时,即使我为 postgresql 数据库指定了一个卷,我的所有数据也会被删除我有以下错误:

ERROR:  relation "wirecloud_workspace" does not exist at character 370

如果我想让它再次工作,我必须从头开始重新创建整个数据库(initdb 和 createsuperuser)

我想做的是能够将我的 wirecloud 数据保存在一个卷中,并能够对其进行备份和重新加载。这是我当前版本 3 中的 docker-compose.yml 文件:

version: '3.3'
services:

iot-mongo:
image: mongo:3.2
ports:
- "27017:27017"
volumes:
- ./data/mongo:/data/db

orion:
image: fiware/orion:1.9.0
links:
- iot-mongo
ports:
- "1026:1026"
command: -dbhost iot-mongo


nginx:
restart: always
image: nginx:1.13
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/sites-available:/etc/nginx/sites-available
- ./letsencrypt/well-known:/www/letsencrypt
- /etc/letsencrypt/:/etc/letsencrypt/
- wirecloudwww:/var/www/static
- wirecloudinstance:/opt/wirecloud_instance
links:
- wirecloud:wirecloud
- orion:orion
postgres:
restart: always
image: postgres:latest
ports:
- "5432:5432"
volumes:
- postgresdata:/var/lib/postgresql
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD:
POSTGRES_DB: postgres
PGDATA: /tmp
wirecloud:
restart: always
image: fiware/wirecloud:1.0-composable
links:
- postgres:postgres
volumes:
- wirecloudwww:/var/www/static
- wirecloudinstance:/opt/wirecloud_instance
volumes:
wirecloudwww: {}
wirecloudinstance: {}
postgresdata: {}

我还尝试使用 docker-compose v1,就像它们在 documentation 中显示的那样但结果是一样的。

最佳答案

问题是 postgres 卷和 PGDATA 环境变量的定义。 PGDATA 环境告诉 PostgreSQL 将数据存储在 /tmp 中,因此它不会将数据存储在 de volume 中(您可以在 /tmp 上创建一个卷,但这似乎有点奇怪)。如果删除 PGDATA 环境变量,postgres 会将数据存储到 /var/lib/postgresql/data 中。将此定义用于 postgres 服务应该可以解决问题:

postgres:
restart: always
image: postgres:latest
ports:
- "5432:5432"
volumes:
- postgresdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD:
POSTGRES_DB: postgres

关于postgresql - Docker compose fiware WireCloud 数据持久性未从卷加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47748639/

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