/// <summary> /// Creates a `IHostService` based on a _URI_. /// </summary> /// <param name="uri">The _URI_ to the docker daemon.</param> /// <param name="name">An optional name. If none is specified the _URI_ is the name.</param> /// <param name="isNative">If the docker daemon is native or not. Default to true.</param> /// <param name="stopWhenDisposed">If it should be stopped when disposed, default to false.</param> /// <param name="isWindowsHost">If it is a docker daemon that controls windows containers or not. Default false.</param> /// <param name="certificatePath"> /// Optional path to where certificates are located in order to do TLS communication with docker daemon. If not provided, /// it will try to get it from the environment _DOCKER_CERT_PATH_. /// </param> /// <returns>A newly created host service.</returns> public IHostService FromUri( DockerUri uri, string name = null, bool isNative = true, bool stopWhenDisposed = false, bool isWindowsHost = false, string certificatePath = null) { if (string.IsNullOrEmpty(certificatePath)) { certificatePath = Environment.GetEnvironmentVariable(DockerHostService.DockerCertPath); } if (string.IsNullOrEmpty(name)) { name = uri.ToString(); } return(new DockerHostService( name, isNative, stopWhenDisposed, uri.ToString(), certificatePath, isWindowsHost )); }