阅读量:1
通过Docker提供的Java API,可以获取Docker容器的IP地址。以下是一个示例代码:
import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.model.Container; import com.github.dockerjava.core.DefaultDockerClientConfig; import com.github.dockerjava.core.DockerClientBuilder; import com.github.dockerjava.core.command.InspectContainerResponse; public class DockerContainerIP { public static void main(String[] args) { // 创建Docker客户端 DockerClient dockerClient = DockerClientBuilder.getInstance(DefaultDockerClientConfig.createDefaultConfigBuilder().build()).build(); // 获取所有运行中的容器 List<Container> containers = dockerClient.listContainersCmd().exec(); // 遍历容器并获取IP地址 for (Container container : containers) { InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container.getId()).exec(); String containerIP = inspectContainerResponse.getNetworkSettings().getIpAddress(); System.out.println("Container ID: " + container.getId()); System.out.println("Container IP: " + containerIP); } // 关闭Docker客户端 dockerClient.close(); } }
以上代码使用Docker Java API获取所有运行中的容器,并通过InspectContainerResponse获取容器的IP地址。