我是docker新手,我想使用java客户端启动docker容器,
我试过了https://github.com/docker-java/docker-java如下
package containers.launch_containers;
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.core.DockerClientBuilder;
public class StartContainers{
DockerClient dockerClient;
public StartContainers() {
startContainers();
}
public void startContainers() {
try {
dockerClient = DockerClientBuilder.getInstance("tcp://127.0.0.1:2375").build();
//starting the container of hello-world
dockerClient.startContainerCmd("hello-world").exec();
}catch(Exception ex)
{
ex.printStackTrace();
}
}
public static void main(String args[])
{
StartContainers startContainers=new StartContainers();
}
}
在bashrc中设置所需的配置
出口DOCKER_HOST=tcp://127.0.0.1:2375
导出DOCKER_OPTS=“-H”tcp://127.0.0.1:2375-Hunix:///var/run/docker.sock"
localhost中的Docker映像
我有这个例外
launch_containers处理异常:launch_containersHttpHostConnectException:连接到launch_containers[/rrors.process]失败:连接拒绝(连接拒绝)rrors.java:228ApacheCorg.glassfish.jersey.process.internal.(ApacheCcope.run)cope.java:444ClientRorg.glassfish.jersey.client.(ClientRnvocation.invoke)nvocation.java:681杰西调用$org.glassfish.jersey.client.(杰西uilder.method)org.glassfish.jersey.client.杰西调用$1.call(杰西nvocation.java:681)在org.glassfish.jersey.internal.Errors.process(Errors.java:315)在org.glassfish.jersey.internal.Ejavax.ws.rs.(Eorg.apache.http.conn.)在127.0.0.1:2375E127.0.0.1(Eorg.glassfish.jersey.apache.connector.)在onnector.apply请求onnector.java:481内窥镜(请求org.glassfish.jersey.client.)在untime.invoke杰西untime.java:252(杰西org.glassfish.jersey.client.)在1.call杰西调用$Bnvocation.java:684(杰西调用. java: 437)在org. glassfish. jersey. client。杰西调用$Builder. post(杰西调用. java: 343)在com. github. dockerjava. jaxrs。StartContainerCmdExec.执行(StartContainerCmdExec. java: 29)在
我解决了这个问题,我应该得到容器ID,如下所示
dockerClient = DockerClientBuilder.getInstance().build();
//starting the container
CreateContainerResponse container = dockerClient.createContainerCmd("hello-world")
.withCmd()
.exec();
dockerClient.startContainerCmd(container.getId()).exec();
//stop the container
dockerClient.stopContainerCmd(container.getId()).exec();
参考
https://github.com/docker-java/docker-java/wiki
试图在localhost中建立从app容器到mysql容器的连接,出现连接拒绝异常 我们正在采取一种docker的方法来调用rest api服务来采用微服务的方法。我们正在建立应用程序容器和mysql容器之间的连接,同时我们编写了一个docker-compose文件,创建了mysql容器和应用程序容器,为这两个容器公开了端口。下面是运行docker-compose文件docker-compose
我正在尝试运行https://github.com/hazelcast/hazelcast-nodejs-client的“使用客户端”部分中提供的基本示例代码 我收到连接拒绝错误。我在我的Mac和PC机器上尝试了这个,结果相同。它们运行的是Node v6.9.1。我没有任何特殊的防火墙设置。甚至尝试完全打开Windows防火墙。 我错过了什么吗? 首先,我创建了一个空节点项目,然后: 然后创建了一
我试图为Nginx+PHP(Laravel)+MySQL构建docker组合容器,但我不断收到连接拒绝错误 Docker-compose.yml 在中,我有一个全新的Laravel应用程序,它具有基本的SQL设置 所有容器都运行时没有错误,我可以使用以下方法连接到MySQL容器 但当我试图从浏览器访问或将ssh直接导入php容器时,我总是得到错误2002。 我有nginx和mysql运行在服务器上
我的connect调用的结果始终是10061:连接被拒绝。 如果我将服务器代码更改为绑定到::(或者将空主机传递给getaddrinfo()(同样的事情)),并将客户机代码更改为在getaddrinfo()调用中指定空主机,那么V4客户机可以很好地连接。 谁能解释一下为什么?我没有读到任何东西,如果我们想要双套接字行为,我们必须指定一个空主机(因此使用INADDR_ANY)。这不可能是一个要求,因
我正在运行2个spring boot应用程序:一个客户端和rest-api。客户机与rest-api通信,rest-API与mongodb数据库通信。所有3层都在docker容器中运行。 我启动容器,通常指定docker文件中公开的端口,并将它们映射到主机上的端口,例如:-p 7070:7070,其中7070是docker文件中公开的端口。 当我通过< code > Java-jar[applic
我有一个运行基本. jmx测试的JMeter 5.3容器。测试中有Johrstrom的Prometheus插件,为端口9270配置。如果我在Docker之外运行测试,我可以使用“curllocalhost:9270”来获取指标。当我在Docker内运行测试时,情况类似。如果我转到JMeter Docker命令行,我可以运行“wgetlocalhost:9270”(图中没有curl),它会给我指标。