首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker合成容器在pgAdmin4中不可见

Docker合成容器在pgAdmin4中不可见
EN

Stack Overflow用户
提问于 2021-07-08 02:49:51
回答 2查看 31关注 0票数 0

我创建了一个docker文件来创建一个pgAdmin4容器和一个postgres容器。

代码语言:javascript
复制
version: '3.8'

services:
 postgres:
   container_name: pg_container
   image: postgres
   restart: always
 environment:
   POSTGRES_USER: webquiver
   POSTGRES_PASSWORD: webquiver
   POSTGRES_DB: quiver_db
 ports:
   - "5432:5432"
 pgadmin:
   container_name: pgadmin4_container
   image: dpage/pgadmin4
   restart: always
   environment:
     PGADMIN_DEFAULT_EMAIL: admin@admin.com
     PGADMIN_DEFAULT_PASSWORD: admin
   ports:
     - "5050:80"

在运行docker compose up时,我可以转到localhost:5050来访问pgAdmin4,并使用您在代码中看到的凭据登录。但是当我使用服务器的下拉菜单时,它是空的。没有创建任何内容。我不能在那里创建任何服务器。它不允许我这样做。我得到了错误:

代码语言:javascript
复制
Unable to connect to server:

could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and 
accepting
TCP/IP connections on port 5432?
could not connect to server: Address not available
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?

请帮帮忙。THX ^^

问候

EN

回答 2

Stack Overflow用户

发布于 2021-07-08 12:00:15

我已经复制了你的docker-compose文件,一切都很好。我猜postgres和pgadmin是如何从头开始交互的,这是一种误解。pgadmin只是你可以连接到postgres数据库的前端,它不会自动搜索任何现有的postgres服务器。

我可以使用这个主机和端口在pgadmin中添加服务器: postgres:5432,因为在docker中会将服务名解析为另一个服务pgadmin的主机名postgres

重新启动组合时,此配置将丢失,因为未指定保存配置的卷。因此,您必须遵循Importing-servers中的步骤,并在每次开始合成时重复这些步骤。例如:构建您自己的pgadmin映像,用于指定启动时要导入的json

  • 使用docker compose build: property指定源
票数 0
EN

Stack Overflow用户

发布于 2021-07-08 16:28:09

好了,睡了一夜之后,我发现了问题所在。对于服务器主机,我写的是db名称,而不是真正的容器名称。所以pgAdmin找不到容器。

祝您今天愉快。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68291636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档