/// <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 })); }
/// <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()); }