当前位置: 首页 > 知识库问答 >
问题:

移动默认docker postgres数据卷

凌华奥
2023-03-14

我使用以下命令创建了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\u very\u long\u id]/\u data中的数据创建了一个卷

现在我需要将此卷移动到其他地方以方便我的外包承包商的备份......并且不知道如何做到这一点。我有点迷路了,因为似乎有不同的替代方案,例如数据卷和fs挂载。

那么今天正确的做法是什么?如何将我当前的数据目录移动到更好的地方?

谢谢。

共有2个答案

赫连明诚
2023-03-14

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

  1. 使用外部文件夹创建另一个容器
  2. 使用pg_basebackup将旧容器中的所有数据获取到新容器中。或者使用复制

因此,数据文件夹位于容器外部。

希望这对你的案子有帮助。

须原
2023-03-14

您可以在运行容器时声明卷装载。例如,您可以这样运行容器:

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/wan/on/your/host中。

 类似资料:
  • 我不明白迁移中的选项会产生什么影响。 我可以看到数据库中的列是用默认值定义的,但是模型完全忽略了它。假设我有一个反映数据库中表的模型。我必须迁移才能创建books表: 当我创建一个新的模型实例时,我看到: 默认值被忽略,属性设置不正确。好的,我可以得到它,因为它是一个新对象,它不应该从数据库中获取默认值。但是如果我试图保存模型,比如: 在数据库的字段中保存0! 那么,迁移中的选项有什么意义呢? 顺

  • 似乎一个向量会检查move构造函数是否标记为noexcept,然后再决定重新分配时是移动还是复制元素。默认的移动构造函数是否定义为noexcept?我看到了以下文档,但它没有指定这一点。http://en.cppreference.com/w/cpp/language/move_constructor 隐式声明移动构造函数 如果没有为类类型(struct,类或联合),并且以下所有都是真的:没有用户

  • 在我的quarkus应用程序中有两个命名的数据源,我们称之为A和B: Quarkus.datasource.a.db-kind=Oracle Quarkus.datasource.b.db-kind=Oracle 因此,每次应用程序启动时,我都会收到这样的通知: 警告:无法确定默认数据源的数据库类型

  • 我试图将Spring应用程序(大部分)转换为Spring Boot应用程序。在应用程序中,我有一个HTTP基本过滤器,收集用户名和密码,然后在DataSource实现中作为变量传递。 在这个数据源中,getConnection()方法是这样的: (由于StackOverflow格式问题,\n作为新行) 在Spring中,我可以毫无问题地实现@autowiledPrivate DataSource

  • 本文向大家介绍移动数据库,包括了移动数据库的使用技巧和注意事项,需要的朋友参考一下 移动数据库与主数据库是分开的,可以轻松地传输到各个地方。即使它们没有连接到主数据库,它们仍然可以与数据库通信以共享和交换数据。 移动数据库包括以下组件- 存储所有数据并链接到移动数据库的主系统数据库。 移动数据库,允许用户即使在移动中也可以查看信息。它与主数据库共享信息。 使用移动数据库访问数据的设备。该设备可以是

  • 勾选表格里数据,表格头部工具会有变化,点击 按钮,支持单条、批量数据移动; 注意: 移动后,数据将会以被移动到的目标图层为准,字段显示、样式都与目标图层保持一致