All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.gesellix.docker.registry.LocalDocker Maven / Gradle / Ivy

The newest version!
package de.gesellix.docker.registry;

import de.gesellix.docker.engine.DockerClientConfig;
import de.gesellix.docker.remote.api.SystemVersion;
import de.gesellix.docker.remote.api.client.SystemApi;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class LocalDocker {

  private static final Logger log = LoggerFactory.getLogger(LocalDocker.class);

  public static boolean available() {
    try {
      DockerClientConfig dockerClientConfig = new DockerClientConfig();
      SystemApi systemApi = new SystemApi(dockerClientConfig);
      return "OK".equals(systemApi.systemPing());
    } catch (Exception e) {
      log.info("Docker not available", e);
      return false;
    }
  }

  public static boolean isNativeWindows() {
    DockerClientConfig dockerClientConfig = new DockerClientConfig();
    SystemApi systemApi = new SystemApi(dockerClientConfig);
    try {
      SystemVersion systemVersion = systemApi.systemVersion();
      String arch = systemVersion.getArch();
      String os = systemVersion.getOs();
      return "windows/amd64".equals(os + "/" + arch);
    } catch (Exception e) {
      log.info("Docker not available", e);
      throw new RuntimeException(e);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy