【问题标题】:How can I call host from docker container?如何从 docker 容器调用主机?
【发布时间】:2021-11-14 20:22:15
【问题描述】:

我在 docker 容器中运行 Keycloak,并希望调用 sed 有效 url 重定向到我的本地主机(应用程序未在容器中运行)。这是我的 docker-compose:

version: '3.3'
services:
  todoDB:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: 'todo'
      MYSQL_USER: 'application'
      # You can use whatever password you like
      MYSQL_PASSWORD: 'password'
      # Password for root access
      MYSQL_ROOT_PASSWORD: 'password'
    ports:
      # <Port exposed> : < MySQL Port running inside container>
      - '3306:3306'
    expose:
      # Opens port 3306 on the container
      - '3306'
      # Where our data will be persisted

  keycloak:
    depends_on:
      - todoDB
    container_name: local_keycloak
    restart: unless-stopped
    environment:
      DB_VENDOR: mysql
      DB_ADDR: todoDB
      DB_PORT: 3306
      DB_DATABASE: 'todo'
      DB_USER: 'application'
      DB_PASSWORD: 'password'
      KEYCLOAK_USER: 'admin'
      KEYCLOAK_PASSWORD: 'admin'
    image: jboss/keycloak:13.0.0

    ports:
      # <Port exposed> : < MySQL Port running inside container>
      - '28080:8080'
    expose:
      # Opens port 3306 on the container
      - '8080'
      # Where our data will be persisted
    volumes:
      - my-db:/var/lib/mysql
      - ./lab-keycloak:/data
    links:
      - todoDB
    extra_hosts:
      - "host.docker.internal:host-gateway"

volumes:
  my-db:

验证后 Keycloak 应该调用 http://host.docker.internal:9090/dasboard/* 但我收到错误 Invalid parameter: redirect_uri。

我做错了什么?

【问题讨论】:

  • 9090 端口上有什么?
  • 应用程序在我机器的 9090 端口上运行,而 keycloak 在同一台机器上的 docker 容器内运行

标签: spring docker-compose keycloak


【解决方案1】:

我用通配符 * 作为重定向 URL 解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 2016-05-29
    • 1970-01-01
    相关资源
    最近更新 更多