【发布时间】:2022-06-28 18:01:46
【问题描述】:
我正在寻找一个 Docker 映像,它只有在 shell 中使用 psql 客户端调用外部 Postgres 数据库所需的所有组件。我确实不需要在本地或任何地方启动数据库。
我找到了jbergknoff/postgresql-client,我没有测试过,但我很惊讶似乎没有任何官方图片。
目前我正在使用postgres:12-alpine,但它只是作为在 Kubernetes 中启动的 CronJob 的一部分,它负责通过调用 Postgres 函数每隔一段时间触发对某些表的清理。
有人推荐吗?或者分享一些见解?
【问题讨论】:
-
使用单个
RUN apt-get update && apt-get install命令构建映像FROM ubuntu并不难。不过,大多数情况下,直接从主机运行像psql这样的交互式工具比将它们打包在容器中和sudo docker run --rm -it registry.example.com/psql进行此类任务更容易。 -
如果您只需要定期运行某些查询,您可以查看pg_cron,它就是这样做的。
-
精确度:我们使用来自
Azure的托管 Postgres 服务器,这实际上意味着我们不能从主机本身执行命令,也不能使用pg_cron,因为它不受支持。
标签: postgresql docker psql