gpt4 book ai didi

postgresql - 为什么不能使用 "service postgres start"在 docker 中启动 postgres?

转载 作者:行者123 更新时间:2023-11-29 12:46:04 24 4
gpt4 key购买 nike

所有 tutorials指出以

的格式运行 postgres
docker run -d -p 5432 \
-t <your username>/postgresql \
/bin/su postgres -c '/usr/lib/postgresql/9.2/bin/postgres \
-D /var/lib/postgresql/9.2/main \
-c config_file=/etc/postgresql/9.2/main/postgresql.conf'

为什么我们的 Docker 文件中不能:

ENTRYPOINT ["/etc/init.d/postgresql-9.2", "start"]

只需启动容器

docker run -d psql

这不是 Entrypoint 的目的还是我遗漏了什么?

最佳答案

区别在于 /etc/init.d 中提供的初始化脚本不是入口点。它的目的是完全不同的;在后台启动入口点,然后向调用者报告成功或失败。该脚本会导致 postgres 进程(通常通过 pg_ctl 间接启动),与控制终端分离。

为了使 docker 发挥最佳性能,它需要直接运行应用程序,附加到 docker 进程。这样它就可以在用户请求时有用地和一般地终止它,或者快速发现并响应进程崩溃。

关于postgresql - 为什么不能使用 "service postgres start"在 docker 中启动 postgres?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21898152/

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