async Task StartDockerClient() { await Task.Run(async() => { //start docker connection switch (CurrentInstallerType) { case InstallerType.HYPER_V: Log.Info("Starting HyperV Docker"); dockerclient = new DockerClientConfiguration(new Uri("npipe://./pipe/docker_engine")).CreateClient(); break; case InstallerType.NO_HYPER_V: Log.Info("Starting Toolbox Docker"); var info = await Process.Start(new ProcessStartInfo("docker-machine", "env --shell=cmd") //var info = await Process.Start(new ProcessStartInfo("cmd.exe","/C @FOR / f \"tokens=*\" % i IN('docker-machine env') DO @% i") { //var info = await Process.Start(new ProcessStartInfo("whoami") { RedirectStandardError = true, RedirectStandardOutput = true, UseShellExecute = false, CreateNoWindow = true, WindowStyle = ProcessWindowStyle.Hidden }).StandardOutput.ReadToEndAsync(); foreach (var line in info.Split('\n')) { if (line.Contains("=")) { var parts = line.Split('='); Environment.SetEnvironmentVariable(parts[0].Remove(0, 4), parts[1]); } } var host = Environment.GetEnvironmentVariable("DOCKER_HOST"); var path = Environment.GetEnvironmentVariable("DOCKER_CERT_PATH"); byte[] certBuffer = Helpers.GetBytesFromPEM(File.ReadAllText(Path.Combine(path, "cert.pem")), PemStringType.Certificate); byte[] keyBuffer = Helpers.GetBytesFromPEM(File.ReadAllText(Path.Combine(path, "key.pem")), PemStringType.RsaPrivateKey); X509Certificate2 certificate = new X509Certificate2(certBuffer); RSACryptoServiceProvider prov = Crypto.DecodeRsaPrivateKey(keyBuffer); certificate.PrivateKey = prov; ServicePointManager.ServerCertificateValidationCallback += (o, c, ch, er) => true; var credentials = new CertificateCredentials(certificate); dockerclient = new DockerClientConfiguration(new Uri(host), credentials).CreateClient(); break; } }); }
private void SetupDockerClient() { //string pfxFilePath = Environment.CurrentDirectory + @"\key.pfx"; //Debug.WriteLine("Path=" + pfxFilePath); //byte[] file = File.ReadAllBytes(pfxFilePath); //var credentials = new CertificateCredentials(new X509Certificate2(file, password)); //client = new DockerClientConfiguration(new Uri(_host), credentials).CreateClient(); client = new DockerClientConfiguration(new Uri(_host)).CreateClient(); }
internal ContainerOperations(DockerClient client) { this.Client = client; }
internal TasksOperations(DockerClient client) { this._client = client; }
internal SwarmOperations(DockerClient client) { this._client = client; }
internal SecretsOperations(DockerClient client) { this._client = client; }
internal ImageOperations(DockerClient client) { this.Client = client; }
internal VolumeOperations(DockerClient client) { this._client = client; }
internal MiscellaneousOperations(DockerClient client) { this._client = client; }
internal ConfigsOperations(DockerClient client) { this._client = client; }
internal MiscellaneousOperations(DockerClient client) { this.Client = client; }
internal ExecOperations(DockerClient client) { this._client = client; }
internal PluginOperations(DockerClient client) { this._client = client; }
internal SwarmOperations(DockerClient client) { this._client = client; SwarmResponseHandler = new ApiResponseErrorHandlingDelegate(ErrorHandler); }
internal ContainerOperations(DockerClient client) { this._client = client; }
internal NetworkOperations(DockerClient client) { this._client = client; }
public ConfigOperations(DockerClient client) { _client = client; }