我有一个包含一些服务的Docker Compose文件。其中一个是数据库,我想备份这些卷并将所有数据迁移到另一台计算机上。 我的docker-compose.yml看起来像这样
version: '3'
services:
service1:
...
serviceN:
db:
image: postgres:11
ports:
- 5432:5432
networks:
- postgresnet
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
postgresql:
postgresql_data:
networks:
postgresnet:
driver: bridge
如何备份postgresql和postgresql_data卷的数据并将其迁移到另一台计算机上?
答案 0 :(得分:0)
最简单的方法是在docker-compose
个文件之间共享外部卷。
首先创建卷
docker volume create shared-data
下一步修改您yml
:
...
volumes:
postgresql:
postgresql_data:
external:
name: shared-data
...
现在,您的postgresql_data
已映射到外部卷,并且您保存在其中的所有内容都可以从外部看到。只需在另一个docker-compose.yml
中创建相同的配置即可享受。