在尝试使用adzerk/ Boot -clj镜像在Docker中运行boot时,我收到连接被拒绝的错误。
具体地说,当容器启动时,启动boot,然后输出堆栈跟踪。跟踪(不容易在没有连接的计算机之间复制和粘贴)本质上是与下载- https://github.com/boot-clj/boot/releases/download/2.7.2/boot.jar -和接收“连接被拒绝”错误有关。
我问这个问题,并回答这个问题,希望它能帮助其他人。
发布于 2017-10-12 21:30:39
从哪里开始?
我的主要问题是Docker + Clojure + Boot设置,特别是从容器内部运行“boot”时。这样做会产生堆栈跟踪。这就是我的旅程的开始。
我使用的是adzerk/boot-clj镜像。我在本地(OSX)使用它,没有问题,我遇到的问题是在使用托管在企业数据中心内的VM (CentOS 7)时。
docker run -ti adzerk/boot-clj发出这个命令会启动容器,入口点是Boot,它会开始拉下一些jars,特别是来自Github的boot.jar。由此产生的堆栈跟踪详细说明了几个问题,但问题的症结在于
“java.net.ConnectException: Connection refused” (connecting to Clojars.org:443)嗯,…
因此,我没有直接在容器中运行Boot,而是将容器入口点指定为“—-entrypoint bash”,这样我就可以稍微检查一下。
因此,wget - connection被拒绝。
如果没有Docker的阻碍会怎么样?同样的事情。连接被拒绝。
在与网络团队进行了一番争论之后,我发现需要在CentOS上设置“https_proxy”环境变量,以便将流量路由到互联网。在这种情况下对我来说是一个非常具体的问题。
然而,…。
现在,无论是在主机上,还是在adzerk/boot-clj容器中,wget都是正常的。然而,Boot并非如此。
为了让事情变得更简单,我完全不考虑Docker,而是在本地使用boot。
已安装java-1.8.0-openjdk.x86_64,已安装Boot。同样的问题。
所以深入研究了一下,发现了以下内容- https ://github.com/boot-clj/boot-bin/issues/2
这是一个开始。它提到了设置BOOT_JVM_OPTIONS,特别是https.proxyHost和https.proxyPort。
它仍然不工作,…Arrrg
好的,让我们把Boot从方程式中去掉。
我用Java编写了一个测试工具,非常简单,它连接到https ://clojars.org并尝试读取索引页。从https ://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html,复制并设置JVM_OPTS。
它仍然失败。“连接被拒绝”
…。奇怪的胡子。
我最终偶然发现了这个所谓的https ://stackoverflow.com/questions/43695299/java-httpurlconnection-works-on-windows-and-fails-on-linux --特别是来自Stephen C
“Java不一定要遵守系统的默认代理设置。由于您能够“卷曲”Linux机器上的URL,因此最可能的解释是Java没有使用您配置的代理。以下链接介绍了配置Java代理的各种方法:“
所以从第一个链接- https ://stackoverflow.com/questions/120797/how-do-i-set-the-proxy-to-be-used-by-the-jvm -和莱昂内尔的答案
我发出了“java -Dhttps.proxyHost=xxx -Dhttps.proxyPort=80 HelloWorld”
我得到了一个错误,但这是另一个错误。这就是进步。“无法通过代理建立隧道”
谷歌很快就把我带到了这里: http ://www.oracle.com/technetwork/java/javase/8u111-relnotes-3124969.html -“禁用HTTPS隧道的基本身份验证”
所以更新为“java -Dhttps.proxyHost=xxx -Dhttps.proxyPort=80 -Djdk.http.auth.tunneling.disabledSchemes=“” HelloWorld
利润。
信息:
java -v
openjdk version 1.8.0_144
Openjdk Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)为我的脏话道歉,布特。
https://stackoverflow.com/questions/46710857
复制相似问题