2017-04-03 46 views
1

我想使用docker java客户端创建并运行docker。我想运行这样的事情:如何使用docker-java创建并启动Docker容器节点,分离模式

docker run -d --link selenium-hub:hub selenium/node-chrome:2.53.0 

如何在docker-java客户端上实现此命令?这里是我的代码到目前为止:

CreateContainerResponse response = dockerClient 
       .createContainerCmd("selenium-hub:hub") 
       .withName(name) 
       .withImage("selenium/"+browser+":"+version) 
       .withAttachStderr(false) 
       .withAttachStdin(false) 
       .withAttachStdout(false) 
       .exec(); 

其实IDK如何指定 - 链接。请帮帮我。抱歉,我是Docker中的新成员。

回答

0

您使用的是docker-java的哪个版本?我尝试了当前版本(3.0.8),并且有一个用于容器创建的方法withLinks。你可以在github page找到一个例子。 请记住,您必须先拉取这些图像(docker pull <imageName>),然后才能使用该图像创建容器。从测试

例子:

CreateContainerResponse container1 = dockerClient 
     .createContainerCmd("busybox") 
     .withCmd("sleep", "9999") 
     .withName("container1") 
     .exec(); 
dockerClient.startContainerCmd(container1.getId()).exec(); 
... 
CreateContainerResponse container2 = dockerClient 
     .createContainerCmd("busybox") 
     .withCmd("sleep", "9999") 
     .withName("container2") 
     .withLinks(new Link("container1", "container1Link")) 
     .exec(); 
dockerClient.startContainerCmd(container2.getId()).exec(); 

的代码,以配合您docker run命令应该是这样的,我认为:

CreateContainerResponse container2 = dockerClient 
     .createContainerCmd("selenium/node-chrome:2.53.0") 
     .withLinks(new Link("selenium-hub", "hub")) 
     .exec(); 
dockerClient.startContainerCmd(container2.getId()).exec(); 
+0

谢谢:)它工作在这里,还有我刚刚更新到版本和繁荣。这行得通。非常感谢 –

相关问题