/// <summary>
        /// Creates the container
        /// </summary>
        /// <param name="id"></param>
        /// <param name="cmdlet"></param>
        /// <param name="dkrClient"></param>
        /// <returns></returns>
        internal static Task <CreateContainerResponse> CreateContainer(
            string id,
            CreateContainerCmdlet cmdlet,
            DotNet.DockerClient dkrClient)
        {
            var configuration = cmdlet.Configuration;

            if (configuration == null)
            {
                configuration = new Config();
            }

            if (!String.IsNullOrEmpty(id))
            {
                configuration.Image = id;
            }

            if (cmdlet.Command != null)
            {
                configuration.Cmd = cmdlet.Command;
            }

            var hostConfiguration = cmdlet.HostConfiguration;

            if (hostConfiguration == null)
            {
                hostConfiguration = new HostConfig();
            }

            if (String.IsNullOrEmpty(hostConfiguration.Isolation))
            {
                hostConfiguration.Isolation = cmdlet.Isolation.ToString();
            }

            configuration.Tty          = cmdlet.Terminal;
            configuration.OpenStdin    = cmdlet.Input;
            configuration.AttachStdin  = cmdlet.Input;
            configuration.AttachStdout = true;
            configuration.AttachStderr = true;

            return(dkrClient.Containers.CreateContainerAsync(
                       new CreateContainerParameters(configuration)
            {
                Name = cmdlet.Name,
                HostConfig = hostConfiguration
            }));
        }
Beispiel #2
0
        /// <summary>
        /// Creates the container
        /// </summary>
        /// <param name="id"></param>
        /// <param name="cmdlet"></param>
        /// <param name="dkrClient"></param>
        /// <returns></returns>
        internal static CreateContainerResponse CreateContainer(
            string id,
            CreateContainerCmdlet cmdlet,
            DotNet.DockerClient dkrClient)
        {
            var configuration = cmdlet.Configuration;

            if (configuration == null)
            {
                configuration = new Config();
            }

            if (!String.IsNullOrEmpty(id))
            {
                configuration.Image = id;
            }

            if (cmdlet.Command != null)
            {
                configuration.Cmd = cmdlet.Command;
            }

            var hostConfiguration = cmdlet.HostConfiguration;

            if (hostConfiguration == null)
            {
                hostConfiguration = new HostConfig();
            }

            if (String.IsNullOrEmpty(hostConfiguration.Isolation))
            {
                hostConfiguration.Isolation = cmdlet.Isolation.ToString();
            }

            return(dkrClient.Containers.CreateContainerAsync(
                       new CreateContainerParameters(configuration)
            {
                Name = cmdlet.ContainerName,
                HostConfig = hostConfiguration
            }).AwaitResult());
        }