首页 文章

移动默认的docker postgres数据卷

提问于
浏览
0

我用以下命令创建了一个docker postgis容器:

docker run -p 5435:5432  -e POSTGRES_PASSWORD=xxxxxxx -e POSTGRES_INITDB_ARGS="-d" mdillon/postgis:9.6

这为/ var / lib / docker / volumes / [some_very_long_id] / _ data中的数据创建了一个卷

现在我需要将这个卷移到其他地方,以便为我的外包承包商提供备份......而且不知道如何做到这一点 . 我有点迷失,因为例如数据量和fs安装似乎有不同的替代方案 .

那么今天做到这一点的正确方法是什么?以及如何将我当前的数据目录移动到更好的位置?

谢谢 .

2 回答

  • 1

    您可以在运行容器时声明卷装入 . 例如,您可以像这样运行容器:

    docker run -p 5435:5432 -e POSTGRES_PASSWORD=xxxxxxx -e POSTGRES_INITDB_ARGS="-d" \
    -v /the/path/you/want/on/your/host:/var/lib/postgresql/data \
    mdillon/postgis:9.6
    

    这样,postgres数据目录将位于主机的 /the/path/you/want/on/your/host 中 .

  • 1

    我没有检查或深入搜索,但在你的情况下我建议做以下步骤:

    • 使用外部文件夹创建另一个容器 .

    • 使用 pg_basebackup 从旧容器获取所有数据到新容器 . 或者使用复制 .

    因此,您在容器外部有数据文件夹 .

    希望它能帮到你的案子 .

相关问题