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());
        }
Ejemplo n.º 2
0
        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 }));
        }
Ejemplo n.º 3
0
        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()));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 8
0
        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 }));
        }