Docker for Windows:我们的开发设置从 3.0.0+ 版本开始停止工作

Docker for Windows: our development setup stopped working starting version 3.0.0+

我这周尝试将 Windows 的 Docker 更新到 3.1.0(跳过 3.0.0),但是有了这个更新,我们的开发设置停止工作了。

描述我们设置的一些关键点

问题

提到的“JBoss 运行 配置”是此设置的一部分,它在 Docker for Windows 3.0.0+ 下停止工作。似乎 IntelliJ 无法再连接到这些端口,导致“localhost:9990”上出现连接超时错误。在版本 2.5.x 和更早版本中我们没有问题,我用 3.0.0 和 3.1.0 测试都没有成功。为了验证,我卸载了 Docker 并再次安装了版本 2.5.x,它又开始工作了。因此,对于 Windows,Docker 一定发生了一些变化。

编辑:我应该提到这个问题似乎主要是 JBoss 服务。 oracle 数据库及其端口映射有效,可以从任何数据库客户端连接。 JBoss 服务的容器日志也没有报告任何问题,服务似乎可以正常启动。

问题

经过多方面的尝试和错误,我终于找到了问题所在。网络和端口映射按预期工作。问题是 IntelliJ 委托的 JBoss CLI 的连接超时,默认超时值为 5 秒。

为什么升级到 Docker Desktop 3+ 后超时是个问题我不知道。但是在我看来,Docker 的新版本似乎在某处出现了如此巨大的性能下降,以至于每次都超过 5 秒的超时,所以总是出现错误。

所以我目前的解决方案是简单地为 IntelliJ 中的超时设置一个更高的值,尽管它听起来像是一种变通方法。

如何增加超时时间?

  • 在 IntelliJ 中打开菜单 Help > Edit Custom Properties...,这会打开 idea.properties 文件,您可以在其中指定 IntelliJ 启动选项
  • 将 属性 idea.wildfly.client.timeout=30000 添加到此文件
  • 重启 IntelliJ