public static CreateContainerParametersBuilder CreateFromContainer(Container container) { var imageId = new DockerImageId(container.ImageName, container.ImageVersion); var builder = new CreateContainerParametersBuilder(imageId, container.Name); foreach (var(name, value) in DockerLabelHelper.CreateForContainer(container)) { builder.AddLabel(name, value); } foreach (var binding in container.ServerPorts) { builder.AddPortBinding(binding.ContainerPort, binding.HostPort); } foreach (var volume in container.Volumes) { builder.AddVolumeMount( volume.DockerName, volume.ContainerMountPoint, DockerLabelHelper.CreateForVolume(container, volume) ); } foreach (var argument in container.Arguments) { builder.AddEnvironmentVariable(argument); } return(builder); }
public static CreateContainerParametersBuilder CreateStorageServer(Server server) { var imageId = new DockerImageId("triceratops_volumeinspector", "1.0"); var containerName = NameHelper.SanitiseHostname($"Triceratops.StorageServer.{server.Name}"); var builder = new CreateContainerParametersBuilder(imageId, containerName) .AddLabels(DockerLabelHelper.CreateForTemporaryContainer()); foreach (var volume in ServerVolumeIdentifier.CreateForServer(server)) { builder.AddVolumeMount( volume.VolumeName, volume.CreateMountDestination(Constants.VolumeInspectorVolumesPath), new Dictionary <string, string>(0) ); } ; return(builder); }