如何从 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。
我是 运行 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。