Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

373
Visualizações
Cómo obtener una lista de identificadores de contenedores existentes por Docker-java

En el código Java, necesito administrar los contenedores docker (reiniciar, detener, iniciar ...) usando la biblioteca Docker-java. https://github.com/docker-java/docker-java

En los ejemplos de Docker-Java, encontré la forma de crear y obtener un contenedor: https://github.com/docker-java/docker-java/wiki

 DockerClient dockerClient = DockerClientBuilder.getInstance().build(); CreateContainerResponse container = dockerClient.createContainerCmd("nginx") .exec(); System.out.println(container.getId()); dockerClient.restartContainerCmd(container.getId());

en línea de comando podemos usar:

 docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4dd858fe9022 nginx "nginx -g 'daemon of…" 42 hours ago Up 42 hours 0.0.0.0:80->80/tcp webserver

Pero necesito hacerlo por código JAVA. Necesito obtener las ID de los contenedores existentes, luego obtener sus direcciones IP y usar el método restartContainerCmd para reiniciarlo.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Solución encontrada. Póngalo aquí en caso de que alguien tenga la misma pregunta:

Cree un DockerClient simple, luego cree el objeto ListContainersCmd y use el método exec(), luego itere a través de la lista de contenedores y encuentre los asociados del contenedor con la IP y luego obtenga la identificación del contenedor; con Id podemos reiniciar el contenedor:

 DockerClient dockerClient = DockerClientBuilder.getInstance().build(); ListContainersCmd listContainersCmd = dockerClient.listContainersCmd().withShowAll(true); for (Container container: listContainersCmd.exec()) { if (container.toString().contains("192.168.1.105")){ dockerClient.restartContainerCmd(container.getId()).exec(); } }
over 4 years ago · Santiago Trujillo Relatório

0

Es posible que esté buscando un método de utilidad como este:

 void restartContainers(DockerClient dockerClient) { dockerClient.listContainersCmd().exec().stream() .map(Container::getId) .map(dockerClient::restartContainerCmd) .forEach(RestartContainerCmd::exec); }

Código completo en GitHub

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda