下面的版本
- 乌班图22.04
- 轨道5.2.6
- ruby 2.6.10
- postgresql 14
在docker容器中运行postgresql,并在运行任何命令时,如rake db:migrate或尝试连接psql -h 127.0.0.1-U user或rake db:create,会出现以下错误
PG::ConnectionBad: connection to server at "127.0.0.1", port 5432 failed: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
当我尝试在本地运行postgresql时,得到下面的错误
psql: error: connection to server at "localhost" (127.0.0.1), port 5432 failed: could not initiate GSSAPI security context: Unspecified GSS failure. Minor code may provide more information: Server not found in Kerberos database
connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL: database "DATABSE" does not exist
1条答案
按热度按时间oxiaedzo1#
rake db:migrate不会直接在docker容器中运行
有两种方法来运行它
1)第一个
首先,在docker-entrypoint.sh文件中添加以下行
或
记住,rake db:setup命令只需要运行一次,当你第一次创建Docker镜像时,之后每当你创建一个新镜像时,注解rake db:setup命令。否则,数据库将被重置,您将丢失数据。
2)另一种方式。
您可以在本地转到项目并运行此命令
为此,您必须运行sudo docker ps -a命令以查看所有docker镜像
然后运行到位置sudo docker exec -ti container_id bash命令
然后