【发布时间】:2016-01-14 19:35:14
【问题描述】:
假设我删除了一个 PostgreSQL docker 容器,它的数据只在此处:
$ docker inspect postgres1
...
"Source": "/var/lib/docker/volumes/4948af..../_data"
"Destination": "/var/lib/postgresql/data"
$ docker rm postgres1
如果没有其他容器引用该卷,我无法再使用--volumes-from 重新连接到该卷,即使文件仍在磁盘上的某个位置:/var/lib/docker/volumes/...
这给我带来了两个问题:
- 如果我不知道目录的卷 UUID,定位数据的最佳方法是什么?
- 做
ls /var/lib/docker/volumes/给我带来了一百个像f77c92...这样的目录。 - 使用
find . -name "*postgres*"我仍然会得到几十个这样的结果...10e0dc/_data/postgresql.conf,但没有明确的方法来确定正确的结果。
- 做
- 在目录中找到正确数据后,如何重新连接一个新创建的 postgres 容器到
/var/lib/docker/volumes/4948af.../_data中的这些数据
我每天都有完整的系统 rsync 备份。这对恢复有何帮助(没有恢复整个系统)?
【问题讨论】:
标签: database postgresql docker recovery