Я использую док-контейнер для своего FiWare WireCloud. Он работает правильно, но когда я останавливаю свой контейнер с помощью docker compose down и перезапускаю его с помощью docker compose up, все мои данные стираются, даже если я указал том для базы данных postgresql и у меня следующая ошибка:
ERROR: relation "wirecloud_workspace" does not exist at character 370
Если я хочу, чтобы он снова заработал, мне нужно воссоздать всю базу данных с нуля (initdb и createduperuser)
Что я хотел бы сделать, так это иметь возможность сохранять мои данные Wirecloud внутри тома и иметь возможность создавать их резервную копию и перезагружать. Вот мой текущий файл docker-compose.yml в версии 3:
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, как показано в документация, но результат тот же.