在Docker容器中安装PostgreSQL
我一直在关注几种不同的教程以及官方教程,但是每当我尝试在容器中安装PostgreSQL时,我都会收到以下消息
psql: could not connect to server: No such file or directoryIs the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
我在SO和整个互联网上浏览了几个问题,但是没有运气。
回答:
问题是您的应用程序/项目正在尝试访问HOST机器(不是docker容器)中的postgres套接字文件。
要解决这个问题,要么必须在使用该-p
标志为postgres容器设置端口时明确要求进行tcp /
ip连接,要么使用该-v
标志与HOST共享共享unix套接字。
:注意:使用-v
或--volume=
标志意味着您正在HOST机器和Docker容器之间共享一些空间。这意味着,如果您在主机上安装了postgres并使其运行,则可能会遇到问题。
下面,我演示如何运行可从tcp / ip和unix套接字访问的postgres容器。我也将容器命名为postgres
。
docker run -p 5432:5432 -v /var/run/postgresql:/var/run/postgresql -d --name
postgres postgres
还有其他解决方案,但我认为这是最合适的。最后,如果需要访问的应用程序/项目也是容器,则最好将它们链接在一起。
以上是 在Docker容器中安装PostgreSQL 的全部内容, 来源链接: utcz.com/qa/434159.html