gpt4 book ai didi

docker - 如何使用docker-java获取正在运行的容器的容器ID?

转载 作者:行者123 更新时间:2023-12-02 06:52:37 31 4
gpt4 key购买 nike

我正在运行一个带有名称标签的容器,它允许我识别它。在 docker-java 中,大多数操作都需要容器 ID,但我不知道如何使用 docker-java 获取它。任何人都可以帮助我如何获取正在运行的容器的容器Id?

例如:

docker ps

    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
8945dcd6195b e7a064b1705a "java '-Duser.time..." 4 days ago Up 20 seconds runDataMock

I am looking for a way by which i could get the ContainerId using the ContainerNames.

注意:我知道下面的方法会创建一个新容器并选择 id。 dockerClient.createContainerCmd(imageName).exec().getId()

最佳答案

您可以使用 withXXX 方法按状态和其他属性过滤容器,但 docker-java API 中没有 WithNameFilter 方法。解决方法是使用通用过滤器:

//get the docker client
DockerClient docker = DockerClientBuilder.getInstance(config).build();
//prepare command to retrieve the list of (running) containers
ListContainersCmd listContainersCmd = client.listContainersCmd().withStatusFilter("running");
//and set the generic filter regarding name
listContainersCmd.getFilters().put("name", Arrays.asList("redis"));
//finally, run the command
List<Container> exec = listContainersCmd.exec();

就是这样!

关于docker - 如何使用docker-java获取正在运行的容器的容器ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43457471/

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