簡體   English   中英

如何使用docker-java創建和啟動Docker Container節點,分離模式

[英]How To Create And Start Docker Container node, detached mode using docker-java

我想使用docker java client創建和運行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如何指定--link。 請幫我。 抱歉,我是Docker的新手。

您使用的是docker-java的哪個版本? 我嘗試了當前版本(3.0.8),並且有一個用於容器創建的withLinks方法。 您可以在github頁面上找到一個示例。 請記住,在使用該圖像創建容器之前,必須先拉出這些圖像( 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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM