无法使用除 localhost 之外的其他主机名通过端口 8089 访问 keycloak UI,使用其他端口是可以的

无法使用除 localhost 之外的其他主机名通过端口 8089 访问 keycloak UI,使用其他端口是可以的

我正在尝试运行 keycloak8089端口,如果我在该端口启动 docker 容器,我可以从以下位置访问 keycloak ui:http://本地主机:8089/

但我无法使用密钥斗篷主机名 (http://keycloak:8089/)或使用 http://127.0.0.1:8089。

如果我使用另一个端口,我可以使用 keycloak 主机名访问 UI。

我已经配置了 hosts 文件密钥斗篷主机名,并且 ping 到 keycloak 是可以的。

我努力了:

  • 重新启动电脑
  • 重新安装docker
  • 使用 rancher 代替 docker
  • 使用 8089:8089 作为 keycloak_demo 的端口
  • 重置防火墙配置

如果我使用 8089:8089 作为 keycloak_demo 的端口,它将无法运行,因为 docker 上的 keycloak 在 8080 端口运行。

我没有在该端口运行任何其他容器。

看起来该端口出了问题。

任何帮助对我来说都意义重大。

Docker-compose yml

    services:
      keycloak_demo:
        image: quay.io/keycloak/keycloak:22.0.5
        command: start-dev
        environment:
          KC_DB: postgres
          KC_DB_URL_HOST: postgres_keycloak_demo
          KC_DB_URL_DATABASE: keycloak
          KC_DB_PASSWORD: password
          KC_DB_USERNAME: keycloak
          KC_DB_SCHEMA: public
          KEYCLOAK_ADMIN: admin
          KEYCLOAK_ADMIN_PASSWORD: admin
        ports:
          - "8089:8080"
        depends_on:
          postgres_keycloak_demo:
            condition: service_healthy
        networks:
          - keycloak_demo_dev_network
      postgres_keycloak_demo:
        image: postgres:14.2
        command: postgres -c 'max_connections=200'
        volumes:
          - pgdata_keycloak_demo:/var/lib/postgresql/data
        environment:
          POSTGRES_DB: keycloak
          POSTGRES_USER: keycloak
          POSTGRES_PASSWORD: password
        healthcheck:
          test: "exit 0"
        ports:
          - "5436:5432"
        networks:
          - keycloak_demo_dev_network
    volumes:
      pgdata_keycloak_demo:
    networks:
      keycloak_demo_dev_network:
        driver: bridge

无法从 http://keycloak:8089/ 访问 keycloak 在此处输入图片描述

localhost 中的 8089 端口成功 keycloak 使用 localhost 主机名

使用 keycloak 主机名和另一个端口: 在此处输入图片描述

答案1

问题是端口 8089 被源代码控制(plastic SCM)使用,而 docker 没有显示任何警告

相关内容