当前位置: 首页 > 知识库问答 >
问题:

将pgadmin连接到docker中的postgres

商同化
2023-03-14

我有一个docker-compose文件,其中包含用于PythonnginxPostgrespgadmin的服务:

services:
  postgres:
    image: postgres:9.6
    env_file: .env
    volumes:
      - postgres_data:/var/lib/postgresql/data
    ports:
      - "5431:5431"

  pgadmin:
    image: dpage/pgadmin4
    links:
      - postgres
    depends_on:
      - postgres
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@admin.com
      PGADMIN_DEFAULT_PASSWORD: pwdpwd
    volumes:
      - pgadmin:/root/.pgadmin
    ports:
      - "5050:80"

  backend:
    build:
      context: ./foobar  # This refs a Dockerfile with Python and Django requirements
    command: ["/wait-for-it.sh", "postgres:5431", "--", "/gunicorn.sh"]
    volumes:
      - staticfiles_root:/foobar/static
    depends_on:
      - postgres

  nginx:
    build:
      context: ./foobar/docker/nginx
    volumes:
      - staticfiles_root:/foobar/static
    depends_on:
      - backend
    ports:
      - "0.0.0.0:80:80"

volumes:
  postgres_data:
  staticfiles_root:
  pgadmin:

当我运行docker-compose up并访问localhost:5050时,我会看到pgadmin界面。当我尝试以localhost0.0.0.0作为主机名,以5431作为端口创建一个新服务器时,我得到一个错误“Could not connect to server”。如果我删除这些,而是在“service”字段中输入postgres,我会得到错误“definition of service”postgres“not found”。如何使用pgadmin连接到数据库?

共有1个答案

卓新知
2023-03-14

请注意,默认的postgres端口是5432而不是5431。您应该更新compose文件中postgres服务的端口映射。错误的端口可能是您报告的问题的原因。更改端口映射,然后尝试连接到postgres:5432。localhost:5432不起作用。

 类似资料:
  • 我已经用nginx、php和postgres创建了一个ubuntu映像。 我想将当前映像中的postgres数据库与位于本地计算机上的连接起来。

  • 我是docker的新手,我正在尝试通过本地主机连接我的pgAdmin容器到postgres容器。 无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(127.0.0.1)上运行并接受端口5432上的TCP/IP连接?无法连接到服务器:地址不可用是否在主机“localhost”(::1)上运行并接受端口5432上的TCP/IP连接的服务器? 我成功地通过容器上的给出的IPAddres

  • 我正在尝试将PostgreSQL数据库连接到pgadmin。 我所掌握的关于数据库的唯一信息是: postgres:/candidate.company.org/company 用户名:banana 密码:AAABBBCCC 无法将主机名“postgres://candidate.company.org/company”转换为地址:nodename或servname已提供或未知

  • 我正在尝试将PGAdmin连接到docker容器,并发现这篇文章(https://stackoverflow.com/a/57729412/11923025)对此非常有用。但我试过使用5432以外的端口进行测试,但没有任何运气。 例如,我尝试在我的docker-compose文件中使用5434,并尝试在pgadmin中使用该端口,但得到以下错误(这是使用docker inspect找到的IP地址)

  • 我已经正确地设置了Docker,并运行了一些容器没有问题。现在我试着设置邮件。我试了两个: 1 https://hub.docker.com/r/paintedfox/postgresql/ 2 https://hub.docker.com/_/postgres/ 我已尝试在VirtualBox中为容器设置端口转发。 我还尝试了机器主机,如Kitematic:192.168.99.100所示

  • 相关帖子:1)docker postgres pgadmin本地连接 2)https://coderwall.com/p/qsr3yq/postgresql-with-docker-on-os-x(在示例中没有填写“name”条目) 有两种方法来完成这个任务,我使用正式的postgres 方法一: 并使用 然后使用pgAdmin选项卡属性填充信息连接