我在服务器上的docker容器中有Postgresql。我如何从外部,也就是从我的本地计算机连接到它?我应该应用什么设置来允许这样做?


当前回答

首先打开postgres的docker映像

docker exec -it <container_name>

然后你会得到根目录--root@868594e88b53:/# 它需要数据库连接

psql postgresql://<username>:<databasepassword>@postgres:5432/<database>

其他回答

如果它是一个django后端应用程序,你可以这样做。

docker exec -it container_id python manage.py dbshell

Docker ps -a来获取容器id docker exec -它的psql -U -W

在构建我的网关微服务应用程序后,我也遇到了同样的问题。无法从Heidisql连接到竞争化postgresql。

在这一刻,我已经解决了它简单地指定postgresql密码docker-compose。Yml和端口。

所以你应该找到并打开docker-compose.yml。然后您应该输入POSTGRES_PASSWORD(不要让它为空),并指定端口“5432:5432”

服务: microservice33-postgresql: 环境: - POSTGRES_USER = microservice33 - POSTGRES_PASSWORD =之后 - POSTGRES_HOST_AUTH_METHOD =信任 港口: ——5432:5432

参考链接和截图张贴

连接到运行postgres的本地容器

安装 psql

酿造搜索postgres

编译安装postgresql

2.

docker run --name postgres -e POSTGRES_DB=users \
  -e POSTGRES_USER=john \
  -e POSTGRES_PASSWORD=password \
  -p 5432:5432 -d postgres
psql --host=localhost --username=john --dbname=users

首先打开postgres的docker映像

docker exec -it <container_name>

然后你会得到根目录--root@868594e88b53:/# 它需要数据库连接

psql postgresql://<username>:<databasepassword>@postgres:5432/<database>