如何将SpringWebClient连接到Unix域套接字?
Spring的WebClient底层使用Netty访问Unix域套接字。我试图让它访问如何将SpringWebClient连接到Unix域套接字?,spring,docker,spring-webflux,reactor-netty,Spring,Docker,Spring Webflux,Reactor Netty,Spring的WebClient底层使用Netty访问Unix域套接字。我试图让它访问/var/run/docker.sock,这样我就可以根据需要使用API执行docker java库不支持的/services操作 我目前的解决方法是创建一个socat容器,该容器将Docker套接字公开给内部网络中的TCP,从而允许我使用WebClient的HTTP连接 尽管考虑到这一点,使用此解决方案有一个好处,即不需要在manager节点上放置更大的Java应用程序 但是,我仍然很好奇如何连接到unix域
/var/run/docker.sock
,这样我就可以根据需要使用API执行docker java库不支持的/services
操作
我目前的解决方法是创建一个socat容器,该容器将Docker套接字公开给内部网络中的TCP,从而允许我使用WebClient的HTTP连接
尽管考虑到这一点,使用此解决方案有一个好处,即不需要在manager节点上放置更大的Java应用程序
但是,我仍然很好奇如何连接到unix域docket。您可以通过TCP公开docker守护程序并使用REST API。您可以创建一个Netty HttpClient 然后你可以告诉WebClient像这样使用这个HttpClient
WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();
这就是我所做的(第二段是我的变通方法),我试图避免这种情况,我也很好奇这是否有可能。
WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();