gpt4 book ai didi

docker - Boot-clj连接被拒绝

转载 作者:行者123 更新时间:2023-12-02 20:11:13 25 4
gpt4 key购买 nike

当尝试使用adzerk / boot-clj镜像在Docker中运行Boot时,我收到连接被拒绝的错误。

具体来说,当容器启动时,启动启动,然后输出堆栈跟踪。跟踪(在不具有连接性的计算机之间复制和粘贴不容易)实质上与下载-https://github.com/boot-clj/boot/releases/download/2.7.2/boot.jar-并接收到“拒绝连接”错误有关。

我在问并回答这个问题,希望对别人有帮助。

最佳答案

从哪儿开始?

我的主要问题是使用Docker + Clojure + Boot设置,特别是从容器内部运行“boot”时。这样做会产生堆栈跟踪。这就是我的旅程的起点。

我正在使用adzerk / boot-clj图片。我在本地(OSX)上使用它没有问题,我遇到的问题是在公司数据中心内使用的VM(CentOS 7)。

docker run -ti adzerk/boot-clj

发出此命令将启动容器,入口点是Boot,它开始拉下一些jar,特别是Github中的boot.jar。生成的堆栈跟踪详细说明了几个问题,但关键是
“java.net.ConnectException: Connection refused” (connecting to Clojars.org:443)

嗯...

因此,我没有直接在容器中运行Boot,而是将容器入口点指定为“ —-entrypoint bash”,这样我可以进行一些操作。

因此,wget-连接被拒绝。

如果没有Docker,该怎么办。一样。拒绝连接。

经过与网络团队的争执之后,我发现需要在CentOS上设置“https_proxy” env变量以将流量路由到Internet。在这种情况下,对我来说是一个非常具体的问题。

然而…。

现在,无论是在主机上还是在adzerk / boot-clj容器内,wget都可以使用。开机却不是。

为了进一步简化操作,我将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。

好的,让我们摆脱引导问题。

我用Java写了一个测试工具,非常简单,它连接到https://clojars.org并尝试读取索引页。从https://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html复制,并设置JVM_OPTS。

它仍然失败。 “拒绝连接”

…。奇怪的 mustache 。

我终于迷迷糊糊了-https://stackoverflow.com/questions/43695299/java-httpurlconnection-works-on-windows-and-fails-on-linux-特别是来自Stephen C的回答

“Java不一定必须遵守系统的默认代理设置。由于您可以在Linux计算机上“ curl ” URL,因此最可能的解释是Java没有使用您配置的代理。以下链接说明了配置Java代理的各种方法:”

因此,采用第一个链接-https://stackoverflow.com/questions/120797/how-do-i-set-the-proxy-to-be-by-the-jvm-以及Leonel的回答

我发布了“ java -Dhttps.proxyHost=xxx -Dhttps.proxyPort=80 HelloWorld

我收到一个错误,但又有一个错误。这是进步。 “无法通过代理隧道”

一个快速的Google引导我来到这里: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)

对不起,我所有的亵渎引导。

关于docker - Boot-clj连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46710857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com