public static async Task <string> BuildImageAsync( System.IO.Stream tarStream, string tag, string remote, bool rm, bool forcerm ) { var client = NSwagDockerClientCreate.Create(); //System.IO.Stream inputStream = tarStream; /* * string dockerfile = null; */string t = tag; /*string extrahosts; */ //string remote = "https://github.com/emallard/dotnetcore_0.git"; /* * bool? q = null; * bool? nocache, * string cachefrom, * string pull, * bool? rm, * bool? forcerm, * int? memory, * int? memswap, * int? cpushares, * string cpusetcpus, * int? cpuperiod, * int? cpuquota, * int? buildargs, * int? shmsize, * bool? squash, * string labels, * string networkmode, */ MyNamespace.ContentType?content_type = MyNamespace.ContentType.Application_xTar; /* * string x_Registry_Config, * string platform */ return(await client.ImageBuildAsync(tarStream, null, t, null, remote, null, null, null, null, rm, forcerm, null, null, null, null, null, null, null, null, null, null, null, content_type, null, null, CancellationToken.None)); }
public async Task Build() { var tag = "1"; var parameters = new ImageBuildParameters(); parameters.Tags = new List <string> { ImageName + ":" + tag }; using (var httpClient = new HttpClient()) { var response = await httpClient.GetStringAsync("https://raw.githubusercontent.com/emallard/dotnetcore_0/master/Dockerfile"); File.WriteAllText("../../Dockerfile", response); } tarHelper.CreateTarFile("../../Dockerfile", "../../Dockerfile.tar"); var tarStream = new FileStream("../../Dockerfile.tar", FileMode.Open); var log = await NSwagDockerClientCreate.BuildImageAsync( tarStream, ImageName + ":" + tag, "https://github.com/emallard/dotnetcore_0.git", true, false ); await dockerWrapper.DeleteDanglingImages(); /* Broken pipe problem with Docker.DotNet * using (var client = dockerWrapper.GetClient()) * { * parameters.RemoteContext = "https://github.com/emallard/dotnetcore_0.git"; * * var stream = await client.Images.BuildImageFromDockerfileAsync(tarStream, parameters); * Console.WriteLine("coucou"); * } */ }