public static string DockerRun(this ICakeContext context, DockerContainerRunSettings settings, string image, string command, params string[] args) { if (context == null) { throw new ArgumentNullException("context"); } if (string.IsNullOrEmpty(image)) { throw new ArgumentNullException("image"); } var runner = new GenericDockerRunner <DockerContainerRunSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); List <string> arguments = new List <string> { image }; if (!string.IsNullOrEmpty(command)) { arguments.Add(command); if (args.Length > 0) { arguments.AddRange(args); } } return(runner.RunWithResult("run", settings ?? new DockerContainerRunSettings(), r => r.ToArray(), arguments.ToArray()).FirstOrDefault()); }
public static IEnumerable <string> DockerCustomCommand(this ICakeContext context, DockerCustomCommandSettings settings, string command) { if (context == null) { throw new ArgumentNullException("context"); } if (settings == null) { throw new ArgumentNullException("settings"); } if (string.IsNullOrEmpty(command)) { throw new ArgumentNullException("command"); } var runner = new GenericDockerRunner <DockerCustomCommandSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); string commandName = command; string commandArguments = ""; var space = command.IndexOf(" "); if (space > -1) { commandName = command.Substring(0, space); commandArguments = command.Substring(space); } return(runner.RunWithResult(commandName, settings, r => r.ToArray(), new[] { commandArguments })); }
public static IEnumerable <string> DockerImageLs(this ICakeContext context, DockerImageLsSettings settings) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var runner = new GenericDockerRunner <DockerImageLsSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); return(runner.RunWithResult("image ls", settings ?? new DockerImageLsSettings(), r => r.ToArray())); }
public static DockerPsResult[] DockerPs(this ICakeContext context, DockerPsSettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var runner = new GenericDockerRunner <DockerPsSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Globber); return(runner.RunWithResult("ps", settings ?? new DockerPsSettings(), Processor)); }
public static string DockerPs(this ICakeContext context, DockerContainerPsSettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var runner = new GenericDockerRunner <DockerContainerPsSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); var result = runner.RunWithResult("ps", settings ?? new DockerContainerPsSettings(), r => r.ToArray()); return(string.Join("\n", result)); }
public static IEnumerable <string> DockerBuildXImageToolsInspect(this ICakeContext context, DockerBuildXImageToolsInspectSettings settings, string name) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (name.Length < 1) { throw new ArgumentNullException(nameof(name), "Name is required"); } var runner = new GenericDockerRunner <DockerBuildXImageToolsInspectSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); return(runner.RunWithResult("buildx imagetools inspect", settings ?? new DockerBuildXImageToolsInspectSettings(), r => r.ToArray(), name)); }
public static IEnumerable <string> DockerVolumeInspect(this ICakeContext context, DockerVolumeInspectSettings settings, string[] volumes) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (volumes?.Length < 1) { throw new ArgumentNullException(nameof(volumes), "At least one volume is required"); } var runner = new GenericDockerRunner <DockerVolumeInspectSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); return(runner.RunWithResult("volume inspect", settings ?? new DockerVolumeInspectSettings(), r => r.ToArray(), volumes)); }
public static IEnumerable <string> DockerLogs(this ICakeContext context, DockerContainerLogsSettings settings, string container) { if (context == null) { throw new ArgumentNullException("context"); } if (container == null) { throw new ArgumentNullException("container"); } var runner = new GenericDockerRunner <DockerContainerLogsSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); return(runner.RunWithResult("logs", settings ?? new DockerContainerLogsSettings(), r => r.ToArray(), new string[] { container })); }