KeyCloak 新手。
尝试在将访问主机上的 MySQL 的容器中运行 KeyCloak(当前为 Windows 10,生产环境为 Linux)
按照此处输入链接描述中的步骤进行操作,当 KeyCloak 和 MySQL 都在自己的容器中时,它会根据那里的文档工作。
当尝试连接主机上现有的 MySQL 数据库并运行 KeyCloak docker 容器时,如下所示:
> docker run --name keycloak --network="host" -e DB_VENDOR=mysql -e DB_ADDR=host.docker.internal -e MYSQL_DATABASE=keycloak -e MYSQL_USERNAME=root -e MYSQL_PASSWORD=sqlpass -e KEYCLOAK_USER=kc-admin -e KEYCLOAK_PASSWORD=password jboss/keycloak
Run Code Online (Sandbox Code Playgroud)
甚至
docker run --name keycloak --network=host -e DB_VENDOR=MYSQL -e DB_ADDR=<actual ip address of host> -e MYSQL_DATABASE=keycloak -e MYSQL_USERNAME=root -e MYSQL_PASSWORD=sqlpass -e KEYCLOAK_USER=kc-admin -e KEYCLOAK_PASSWORD=password jboss/keycloak
Run Code Online (Sandbox Code Playgroud)
出现以下错误:
WFLYCTL0186: Services which failed to start: service org.wildfly.clustering.jgroups.channel.ee: java.lang.IllegalStateException: java.net.BindException: [UDP] /172.18.0.1 …Run Code Online (Sandbox Code Playgroud) 在互联网和 Stackoverflow 上搜索了此内容但没有成功
在 Windows 10 上使用 Docker for Desktop 版本 4.12.0,并以 WSL2 作为后端。
在 Windows 命令提示符窗口中,以下内容有效并列出 c:/data 中的文件
docker run --rm -v c:/data:/target alpine ls /target
Run Code Online (Sandbox Code Playgroud)
但以下都不起作用。/target 目录始终为空!
docker run --rm -v d:/data:/target alpine ls /target
docker run --rm -v "d:/data:/target" alpine ls /target
docker run --rm -v "d:/data":/target alpine ls /target
docker run --rm -v /mnt/d/data:/target alpine ls /target
docker run --rm -v /run/desktop/host/d/data:/target alpine ls /target
docker run --rm -v "/run/desktop/host/d/data:/target" alpine ls /target
Run Code Online (Sandbox Code Playgroud)
但是,在 WSL 2 …