如何使用pgAdmin连接docker容器上的postgresql映像?
我刚刚从GitHub克隆了一个项目,在自述文件中,它要求我运行如何使用pgAdmin连接docker容器上的postgresql映像?,postgresql,docker,Postgresql,Docker,我刚刚从GitHub克隆了一个项目,在自述文件中,它要求我运行docker compose up来运行PostgreSQL映像 我假设在运行该命令后,PostgreSQL server映像将在我的pc上的Docker容器中使用端口5432启动。然后我运行npm install和npm start来启动项目(数据库表将使用ORM框架自动创建)。然而,当我打开我的pgAdmin连接到服务器时,它说它已成功连接,但我找不到创建的那些表。这里我猜pgAdmin没有连接5432上的PostgreSQL服务
docker compose up
来运行PostgreSQL映像
我假设在运行该命令后,PostgreSQL server映像将在我的pc上的Docker容器中使用端口5432启动。然后我运行
npm install
和npm start
来启动项目(数据库表将使用ORM框架自动创建)。然而,当我打开我的pgAdmin连接到服务器时,它说它已成功连接,但我找不到创建的那些表。这里我猜pgAdmin没有连接5432上的PostgreSQL服务器(Docker映像)。。。因此,我的问题是,是否可以使用安装在本地pc中的pgAmin连接到已在运行的PostgreSQL server Docker映像,映射到本地pc的端口5432?是的,您可能只需要从Docker容器获取Ip地址,然后运行下一个命令即可
docker ps
然后使用ID容器执行以下操作:
docker inspect ID container
从Docker配置中按IP地址搜索,并使用它从pgAdmin连接。Docker ps--格式为“table{{.Names}\t{{.ID}}”| grep“postgres”
上面的命令将给出通过docker运行的Postgres容器的容器名称和Id列表。如果您有多个Postgres容器,请选择一个要添加到Pg Admin中的容器,并将该Postgres容器的容器id用于下一个命令
docker-inspect | grep-E-A 1“IP地址|端口”
它将提供您希望通过PG Admin连接的Postgres容器的IP地址和端口。使用该IP地址和端口通过Pg Admin进行连接我在这里回答了这个问题: