【问题标题】:Migrate data from a data only postgresql docker volume从仅数据的 postgresql docker 卷中迁移数据
【发布时间】:2016-02-29 16:26:34
【问题描述】:

我有一个只有数据的 postgresql 容器

docker create -v /var/lib/postgresql/data --name bevdata mdillon/postgis /bin/true

我有一个正在运行的 Postgis 容器

docker run --name bevaddress -e POSTGRES_USER=bevsu -e POSTGRES_DB=bevaddress -P -d --volumes-from bevdata mdillon/postgis

我已将该数据库备份到 bavaddress 容器中的目录 /var/lib/postgresql/backup

认为这意味着备份数据位于容器 bevaddress(正在运行的进程)中,而不是我认为好的数据容器 bevdata

现在如果我docker pull mdillon/postgis 到一个新版本,我如何附加容器bevaddress 的文件夹/var/lib/postgresql/backup 以便mdillon/postgis 的新实例和版本可以访问该文件夹以恢复数据库?

【问题讨论】:

    标签: postgresql docker backup postgis


    【解决方案1】:

    据我所知,你不能。运行容器中的文件系统仅在运行期间存在。如果不挂载卷,则无法允许第二个容器访问备份。

    对于未来的备份,您可以创建第二个仅卷容器来装载 /var/lib/postgresql/backup

    【讨论】:

    • 这也是我想出的解决方案。不幸的是,它迫使您在发出 docker run 时提前考虑添加第二个备份卷。后来似乎不可能这样做(无法通过 docker start 添加音量)。为备份/迁移任务提前添加卷至少应该被描述为一种好的做法。
    猜你喜欢
    • 2022-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 2017-06-19
    • 2013-09-14
    • 2012-04-05
    • 1970-01-01
    • 2020-04-06
    相关资源
    最近更新 更多