2017-04-03 78 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

謝謝:)它工作在這裏,還有我剛剛更新到版本和繁榮。這行得通。非常感謝 –

相關問題