public void Test() { byte[] text = ReadConfigText(); MachineConfigJson conf = MachineConfigJson.Read(text); Assert.That(conf.Driver.IPAddress, Is.EqualTo("192.168.99.100")); Assert.That(conf.HostOptions.AuthOptions.ClientCertPath, Is.EqualTo("C:\\Users\\User1\\.docker\\machine\\certs\\cert.pem")); Assert.That(conf.HostOptions.AuthOptions.ClientKeyPath, Is.EqualTo("C:\\Users\\User1\\.docker\\machine\\certs\\key.pem")); }
public async Task Connect() { connected = true; string userProfile = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); string configPath = Path.Combine(userProfile, @".docker\machine\machines", MachineName, "config.json"); MachineConfigJson machineConfig = MachineConfigJson.Read(File.ReadAllBytes(configPath)); string clientCertPath = machineConfig.HostOptions.AuthOptions.ClientCertPath; string clientKeyPath = machineConfig.HostOptions.AuthOptions.ClientKeyPath; Uri uri = new Uri($"http://{machineConfig.Driver.IPAddress}:2376"); X509Certificate2 cert = CertificateUtils.ReadCertificateWithKey(clientCertPath, clientKeyPath, null); CertificateCredentials credentials = new CertificateCredentials(cert); DockerClientConfiguration config = new DockerClientConfiguration(uri, credentials); client = config.CreateClient(); await Refresh(); }