gpt4 book ai didi

postgresql - 如何在官方 Postgres 容器中启动 Cron/Crond

转载 作者:行者123 更新时间:2023-11-29 13:17:41 28 4
gpt4 key购买 nike

默认情况下,crond 未在 official postgres alpine image 中运行.我如何定义我的 Dockerfile 以确保守护进程在后台运行?我希望它默认运行,如果可能的话,即使容器重新启动也是如此。

我尝试将 CMD ["/usr/sbin/crond"] 添加到我的 Dockerfile 但我没有成功。有没有想过如何结合 postgres 运行它?

更新

我已经添加了 tianon 的答案:

[...] If you must run crond inside a container, I'd recommend instead using a separate container which runs nothing but crond (and thus Docker can both track its lifecycle, and restart it when/if it fails, the machine restarts, etc). You should be able to connect to the PostgreSQL instance from a second container, but if absolutely necessary, one could use things like --network container:some-postgres in order to join the network namespace of the database container directly.

最佳答案

pg_cron 必须添加到 shared_preload_libraries。根据文档:

 # add to postgresql.conf:
shared_preload_libraries = 'pg_cron'

然后您必须重新启动 PostgreSQL。

关于postgresql - 如何在官方 Postgres 容器中启动 Cron/Crond,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46646959/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com