通過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地址。