gpt4 book ai didi

java - 如何使用 docker-java 创建并启动 Docker 容器节点,分离模式

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:59 27 4
gpt4 key购买 nike

我想使用 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();

实际上不知道如何指定--link。请帮我。抱歉,我是 Docker 新手。

最佳答案

您使用哪个版本的 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();

关于java - 如何使用 docker-java 创建并启动 Docker 容器节点,分离模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43179393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com