如何从 docker 容器调用主机?

How can I call host from docker container?

我是 运行 Keycloak 在 docker 容器中,想调用 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/* 但我收到错误参数无效:redirect_uri.

我做错了什么?

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