Tag: 客户端

Akka docker远程集群设置

连接到远程Docker群集时遇到问题。 我提供了bind.port和bind.hostname。 不过,我在服务器端有以下错误。 [ERROR] [08/04/2017 12:36:34.623] [SereverApplication-akka.remote.default-remote-dispatcher-6] [akka://SereverApplication/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F %2FClientApplication%4010.0.75.1%3A2553-0 / endpointWriter]为非本地收件人[Actor [akka.tcp://SereverApplication@127.0.0.1:2552 /]]丢弃消息[class akka.actor.ActorSelectionMessage] akka.tcp://SereverApplication@127.0.0.1:2552]入站地址是[akka.tcp://SereverApplication@172.17.0.2:2552] 从错误我可以看到消息正在从客户端发送到服务器的演员。 但是,服务器的子actor无法响应客户端。 任何帮助将不胜感激。 我有以下github位置的代码。 https://github.com/thedatatechie/akka_remote_actor Dockerfile也放置在根文件夹中。 请使用它来设置单节点的docker集群。 提前谢谢了

GO使用Docker API时发出问题 – 无法导入“nat”

我正在尝试使用可从github.com/docker/docker/client获得的golang docker API。 到目前为止,我能够在图像生成期间预定义的端口上启动容器。 我试图在运行时使用API​​映射端口; 相当于一些东西 docker run -p 8083:8082 -d myImage:1.0.0 我试图做如下的映射端口: host_config := &container.HostConfig{ PortBindings: nat.PortMap{ "8082/tcp": []nat.PortBinding{ { HostIP: "0.0.0.0", HostPort: "8983", }, }, }, } 这里的问题是variables“nat”存在于API的供应商文件夹内。 我无法直接从go供应商文件夹中导入某些内容。 有人build议将复制连接文件夹到github文件夹中,并删除嵌套的供应商目录。 我按照build议做了,并创build了一个path如下: "github.com/docker/go-connections/nat" 现在我在编译期间得到以下错误: src\main\createcontainer1.go:53: cannot use "github.com/docker/go-connections/nat".PortSet literal (type "github.com/docker/go-connections/nat".PortSet) as type "github.com/docker/docker/vendor/github.com/docker/go-connections/nat".PortSet in field value src\main\createcontainer1.go:65: cannot use "github.com/docker/go-connections/nat".PortMap literal (type "github.com/docker/go-connections/nat".PortMap) […]

Docker Java客户端API连接池

在EE平台中使用Docker-client API( https://github.com/spotify/docker-client )来pipe理远程计算机上的一组容器。 运行在Docker实例中的Java SE Client为了处理工作。 处理完成后,从客户端获得响应,即时重新启动容器,让它在一个单独的线程中等待15秒,并在时间到了之后暂停该容器。 但有一个问题,当我通过DefaultDockerClient或DockerClient在multithreading中暂停容器。 虽然即时通讯设置连接在1000上,在暂停工作时即时得到下面的exception。 我一直在debuggingPoolingHttpClientConnectionManager数小时是否设置。 是的。 它已经设置为1000.但它不适用于并行请求? 有没有人有一个想法,为什么它不工作? 由于:java.util.concurrent.ExecutionException:javax.ws.rs.ProcessingException:无法在java.util.concurrent.FutureTask.get上的java.util.concurrent.FutureTask.report(FutureTask.java:122)处调用请求(FutureTask.java:188)at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:1019)… 9 more 引起:javax.ws.rs.ProcessingException:无法在org.jboss.resteasy.client.jaxrs.internal的org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.invoke(ApacheHttpClient4Engine.java:287)上调用请求。 .ClientInvocation.invoke(ClientInvocation.java:407)位于org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:442),位于org.jboss.resteasy.client.jaxrs.internal.ClientInvocation $ 2。调用(ClientInvocation.java:477)在java.util.concurrent.FutureTask.run(FutureTask.java:262)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)在java.lang.Thread.run(Thread.java:745) 导致:java.lang.IllegalStateException:无效的BasicClientConnManager的使用:连接仍然分配。 确保在分配另一个之前释放连接。 在org.apache.http.impl.conn.BasicClientConnectionManager.getConnection(BasicClientConnectionManager.java:160)的org.apache.http.util.Asserts.check(Asserts.java:34)位于org.apache.http.impl.conn .BasicClientConnectionManager $ 1.getConnection(BasicClientConnectionManager.java:142)at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:423)at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient。 java:863)org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)org.jboss .resteasy.client.jaxrs.engines.ApacheHttpClient4Engine.invoke(ApacheHttpClient4Engine.java:283)

JAVA 6 Docker客户端

我正在寻找一种方法来编排使用JAVA 6的Docker容器。所以我准备好了Docker镜像,但是我想能够启动和停止并与之交互,但是我仅限于JAVA 6。 到目前为止我find的所有JAVA客户端库,而不是JAVA 7,但我还不能使用。 有人有主意吗? 非常感谢

如何通过Java程序执行docker命令

我不需要调用Docker远程API,而是需要开发一个与Docker Linux Client(不是Docker守护进程)对话的程序。 这是我的代码 try { String[] command = {"docker", "run", "-it", "tomcat:9", "bash"}; ProcessBuilder pb = new ProcessBuilder(command); pb.inheritIO(); Process proc = pb.start(); InputStream is = proc.getInputStream(); OutputStream os = proc.getOutputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os)); writer.write("pwd"); writer.flush(); String line = ""; while ((line = reader.readLine()) != […]

解决Apache Spark应用程序在Docker容器中以客户端模式运行的问题

我正尝试使用客户端模式从dockerized Apache Spark应用程序连接到独立Apache Spark群集。 司机给火花大师和工人的地址。 在some_docker_container_ip容器中运行时,它将使用some_docker_container_ip 。 docker的地址是不可见的,所以一个应用程序将无法正常工作。 Spark有spark.driver.host属性。 这个属性被传递给主人和工人。 我最初的本能就是在那里传递主机地址,所以群集会代替可见的机器。 不幸的是, spark.driver.host也被Driver用来设置服务器。 在那里传递主机地址会导致服务器启动错误,因为docker容器无法绑定主机主机下的端口。 这似乎是一个双输的局面。 我既不能使用主机地址也不能使用docker容器地址。 理想情况下,我想有两个属性。 spark.driver.host-to-bind-to用于设置驱动程序服务器和由spark.driver.host-for-master和spark.driver.host-for-master 。 不幸的是,它似乎只是一个属性卡住了。 另一种方法是运行–net=host容器时使用–net=host 。 这种方法有许多缺点(例如,其他docker集装箱不能链接到一个容器与–net=host上,必须暴露在dockernetworking之外),我想避免它。 有没有什么办法可以解决驱动程序寻址问题而不暴露docker集装箱?

弹性search不按预期工作

我已经使用这个查询 'body' => [ 'query' => [ 'bool' => [ 'should' => [ ['match' => ['title'=> $q]], ['match' => ['year'=> $q]], ['match' => ['case_type'=> $q]], ['match' => ['body'=> $q]], ['match' => ['petition_no'=> $q]], ['match' => ['keywords'=> $q]] ] ] ] ] 我不知道为什么我没有得到正确的结果。 在Docker ELASTICSEARCH日志中显示[WARN] [oedimStringFieldMapper $ TypeParser] [string]字段已弃用,请在[标题]上使用[文本]或[关键字]而不是请求帮助?