public ConnectionParameter detectConnectionParameter(String dockerHost, String certPath) throws IOException {
        if (dockerHost != null) {
            return new ConnectionParameter(dockerHost, certPath);
        }
        for (DockerHostProvider provider : dockerHostProviders) {
            ConnectionParameter value = provider.getConnectionParameter(certPath);
            if (value != null) {
                return value;
            }
        }
        throw new IllegalArgumentException("No <dockerHost> given, no DOCKER_HOST environment variable, " +
                                           "no read/writable '/var/run/docker.sock' or '//./pipe/docker_engine' " +
                                           "and no external provider like Docker machine configured");
    }
Get the docker host url.
<ol>
  <li>From &lt;dockerHost&gt; configuration</li>
  <li>From &lt;machine&gt; configuration</li>
  <li>From DOCKER_HOST environment variable</li>
  <li>Default to /var/run/docker.sock</li>
</ol>
@param dockerHost The dockerHost configuration setting
@return The docker host url
@throws IOException when URL handling fails
src/main/java/io/fabric8/maven/docker/access/DockerConnectionDetector.java