开发人员设置微服务 Keycloak Docker

Developer Setup Microservices Keycloak Docker

截至目前,我们正在将我们的 spring 引导单体迁移到自包含微服务,并已在端口 8999 上的单独服务中安装和配置 keycloak,包括其登录 ui。其他 spring 启动服务(包括它们的 ui) 运行 在端口 8080、8082 等

为了加快开发速度,我们希望创建一个本地 Docker 设置,该设置能够作为我们服务架构的可集成完整设置。这样我就可以在 localhost 上启动任何服务,并且可以从 Docker compose 文件中声明所有其他服务。

这里的问题好像是keycloak。由于客户端将 keycloak 标识为 localhost,但被设置为具有不同 ip 的不同容器,这些容器将其端口发布到 host,即开发人员笔记本电脑 windows os.

当我尝试从 host 登录时,所有重定向到 keycloak 的工作正常,但从 keycloak 重定向回注册客户端失败。

我是否需要某种设置,使所有容器的 host 名称在 Docker 和 Docker host 中都相同?不过,编辑 windows host 文件似乎是不可能的。你会如何解决这个问题?

在 Windows 上,您绝对应该避免使用 WSL。它使网络设置复杂化,因为它在顶部使用另一个网络设备层。在没有 WSL 的情况下,我能够通过他们的 compose 别名简单地连接到所有服务,并且 keycloak 也没有任何问题。