如何使用pgAdmin连接Docker容器中的PostgreSQL镜像?

3

我刚从GitHub克隆了一个项目,readme文件中要求我运行docker-compose up来运行PostgreSQL镜像...

我认为在我运行该命令后,PostgreSQL服务器镜像将在我的PC上的Docker容器中使用端口5432启动。然后我运行npm installnpm start来启动该项目(数据库表将使用ORM框架自动创建)。然而,当我打开我的pgAdmin连接到服务器时,它说连接成功,但我找不到那些已创建的表。我猜测pgAdmin没有连接到运行在5432端口上的PostgreSQL服务器(Docker镜像)...所以我的问题是是否可以使用安装在本地PC上的pgAmin连接到已经运行并映射到本地PC 5432端口的PostgreSQL服务器Docker镜像?


我在这里回答了:https://dev59.com/B18e5IYBdhLWcg3wo7mE#57729412 - Afshin Ghazi
2个回答

5

docker ps --format "table {{.Names}}\t{{.ID}}" | grep 'postgres'

上述命令将列出正在运行的通过docker运行的Postgres容器的名称和ID。如果您有多个Postgres容器,请选择要添加到Pg-Admin中的一个容器,并使用该Postgres容器的容器ID进行下一步操作。

docker inspect <container id> | grep -E -A 1 "IPAddress|Ports"

它将提供您想要通过PG-Admin连接的Postgres容器的IPAddress和端口。使用该IPAddress和Port通过Pg-Admin进行连接。

3

是的,这是可能的,您只需要从Docker容器中获取IP地址,运行以下命令以实现此目的。

docker ps

然后使用容器ID进行操作:

docker inspect ID container

从Docker配置中按照IPAddress搜索并使用它来从pgAdmin连接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接