首页 > 解决方案 > docker 中的 pgAdmin 未显示在所选端口上 - 版本 4.15 之后

问题描述

我是 docker 容器中 pgAdmin 的长期用户,我认为它真的很有用。

在现场工作时,我的笔记本电脑配置了运行 Debian Buster 实例的 VirtualBox,以便我可以在本地进行开发。该实例安装了 docker 并运行我自己的 PostgreSQL 派生容器 pgAdmin、swagger 和 PostgREST。

我一直在使用 pgAdmin 4.15,但最近尝试升级到 pgAdmin 4.25 容器映像,并且从我的主机 Windows 框中,http://localhost:5050/browser/pgAdmin 停止可用。

同时,客户端在裸机 PostgreSQL 12 安装上运行带有 dockerised pgAdmin 的 RHEL 7;同样,我决定从 4.15 升级到 4.25:它也停止工作了。我回滚到 4.15,它又开始工作了。

我的本地 pgadmin.yml 看起来像:

version: '3.5'

services:
  tp-pgadmin:
    container_name: tp-pgadmin
    image: dpage/pgadmin4:4.15
    restart: always
    #env_file: env.pgadmin
    environment:
      PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-lol@lol.com}
      PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-lollydoodah}
      PGADMIN_LISTEN_ADDRESS:  ${PGADMIN_LISTEN_ADDRESS:-0.0.0.0}
      PGADMIN_LISTEN_PORT: 5050
    volumes:
       - tp-pgadmin-vol:/var/lib/pgadmin
    ports:
      - "${PGADMIN_PORT:-5050}:5050"
    depends_on:
      - tp-postgres
    networks:
      - tp-pg-net
    #restart: unless-stopped

networks:
  tp-pg-net:
    external: true
    driver: bridge

volumes:
  tp-pgadmin-vol:
    external: true

客户 pgadmin.yaml 非常相似(!):

version: "3.5"

services:
  pgadmin:
    image: dpage/pgadmin4:4.15
    #env_file: env.pgadmin
    environment:
      PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-lol@lol.com}
      PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-lollydoodah}
      PGADMIN_LISTEN_ADDRESS: ${PGADMIN_LISTEN_ADDRESS:-0.0.0.0}
      PGADMIN_LISTEN_PORT: 5050
    network_mode: "host"
    volumes:
      - pgadmin-vol:/var/lib/pgadmin
    ports:
      - "${PGADMIN_PORT:-5050}:5050"

volumes:
  pgadmin-vol:
    external: true

毫不奇怪,将 4.15 更改为 4.25 会引入新版本,这是它停止工作的唯一更改。

我玩过端口,但没有任何改进。

有谁知道 pgAdmin 在 4.15 和更高版本之间的服务方式发生了什么变化?

我看不到任何明显的东西。

向我致以最诚挚的问候,保罗。

标签: dockerdocker-composepgadmin-4

解决方案


推荐阅读