首页 > 解决方案 > Docker for Windows:我们的开发设置从 3.0.0+ 版本开始停止工作

问题描述

本周我尝试将 Docker for Windows 更新到 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 版本,它又开始工作了。因此,为了发生这种情况,Docker for Windows 中一定发生了一些变化。

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

问题

标签: javadockerintellij-ideadocker-for-windowsjboss-eap-7

解决方案


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

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

所以我目前的解决方案,即使它闻起来像一个解决方法,只是简单地为 IntelliJ 中的超时设置一个更高的值。

如何增加此超时?

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

推荐阅读