postgresql 为什么我不能将Pgadmin从本地机器连接到docker postgres,但我可以从docker容器连接?

dba5bblo  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(130)

因此,我有一个Postgres docker容器运行,我想通过安装在我的机器(Windows)上的Pgadmin连接到它。我试过了所有方法,但都不管用。我最终安装了另一个带有Pgadmin的容器,它工作起来没有问题。为什么会这样?
编辑:这些是docker运行参数:

docker run --hostname=55c29504e819 --mac-address=02:42:ac:11:00:02 --env=POSTGRES_PASSWORD=root --env=POSTGRES_USER=root --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/15/bin --env=GOSU_VERSION=1.16 --env=LANG=en_US.utf8 --env=PG_MAJOR=15 --env=PG_VERSION=15.3-1.pgdg120+1 --env=PGDATA=/var/lib/postgresql/data --volume=C:\Users\Mar\pg_volume:/var/lib/postgresql/data --volume=/var/lib/postgresql/data -p 5432:5432 --restart=no --runtime=runc -d postgres

字符串

uelo1irk

uelo1irk1#

从pgadmin连接到Postgres容器时遇到的困难可能有几个原因。

  1. Postgres容器的IP地址可能不同于localhost或127.0.0.1。使用docker inspect <container_id>验证Postgres容器的IP地址,并使用该IP地址从pgadmin连接。
    1.确保Postgres配置为允许远程连接,并允许从运行pgadmin的IP地址或网络范围进行连接。
    如果你已经检查了这些设置,你可以尝试下面的命令来创建Postgre版本12的Docker容器(就像我的例子一样)。
docker run -d \
       --name postgre-container \
       -e POSTGRES_USER=<USERNAME>\
        -e POSTGRES_PASSWORD=<PASSWORD> \
        -e PGDATA=/var/lib/postgresql/data/pgdata \
        -d postgres:12

字符串

相关问题