我有一个自我编程的IDE,它具有使用以下命令运行docker-compose.yml文件的操作docker-compose up
该操作仅在开发人员安装了Docker桌面后才可用。如何使用Java检查Docker桌面的可用性?
if(dockerDesktopAvailable()){
// my action is here
}
public static dockerDesktopAvailable() {
try (Stream < String > stream =
Files.lines(Paths.get("/proc/1/cgroup"))) {
return stream.anyMatch(line -> line.contains("docker"));
} catch (IOException e) {
return false;
}
}
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java</artifactId>
<version>3.0.14</version>
</dependency>
然后执行
List<Container> containers = dockerClient.listContainersCmd() .withShowSize(true) .withShowAll(true) .withStatusFilter("exited").exec();