Class CreateContainerRequestExtensions
- Namespace
- Bielu.Microservices.Orchestrator.Extensions
- Assembly
- Bielu.Microservices.Orchestrator.dll
Fluent API extension methods for building a CreateContainerRequest.
public static class CreateContainerRequestExtensions
- Inheritance
-
CreateContainerRequestExtensions
- Inherited Members
Methods
WithAutoRemove(CreateContainerRequest, bool)
Enables or disables automatic removal of the container when it stops.
public static CreateContainerRequest WithAutoRemove(this CreateContainerRequest request, bool autoRemove = true)
Parameters
requestCreateContainerRequestautoRemovebool
Returns
WithCommand(CreateContainerRequest, params string[])
Sets the command to run in the container.
public static CreateContainerRequest WithCommand(this CreateContainerRequest request, params string[] command)
Parameters
requestCreateContainerRequestcommandstring[]
Returns
WithEnvironmentVariable(CreateContainerRequest, string, string)
Adds an environment variable to the container.
public static CreateContainerRequest WithEnvironmentVariable(this CreateContainerRequest request, string key, string value)
Parameters
requestCreateContainerRequestkeystringvaluestring
Returns
WithImage(CreateContainerRequest, string)
Sets the container image.
public static CreateContainerRequest WithImage(this CreateContainerRequest request, string image)
Parameters
requestCreateContainerRequestimagestring
Returns
WithLabel(CreateContainerRequest, string, string)
Adds a label to the container.
public static CreateContainerRequest WithLabel(this CreateContainerRequest request, string key, string value)
Parameters
requestCreateContainerRequestkeystringvaluestring
Returns
WithLocalBoundVolume(CreateContainerRequest, string, string, string, LocalMountOptions)
Adds a local-driver bound volume to the container. The container manager will
auto-create the named volume backed by hostPath before
starting the container — no separate volume-creation step is needed.
public static CreateContainerRequest WithLocalBoundVolume(this CreateContainerRequest request, string volumeName, string hostPath, string containerPath, LocalMountOptions mountOptions = LocalMountOptions.Bind)
Parameters
requestCreateContainerRequestThe container request.
volumeNamestringThe Docker volume name to create or reuse.
hostPathstringAbsolute path on the host to bind into the volume.
containerPathstringThe path inside the container where the volume will be mounted.
mountOptionsLocalMountOptionsMount flags. Defaults to Bind. Combine flags with the bitwise OR operator, e.g.
LocalMountOptions.Bind | LocalMountOptions.ReadOnly.
Returns
WithName(CreateContainerRequest, string)
Sets the container name.
public static CreateContainerRequest WithName(this CreateContainerRequest request, string name)
Parameters
requestCreateContainerRequestnamestring
Returns
WithPort(CreateContainerRequest, int, int, string, string)
Adds a port mapping to the container.
public static CreateContainerRequest WithPort(this CreateContainerRequest request, int containerPort, int hostPort, string protocol = "tcp", string hostIp = "0.0.0.0")
Parameters
requestCreateContainerRequestcontainerPortinthostPortintprotocolstringhostIpstring
Returns
Remarks
The default hostIp of "0.0.0.0" binds the port on all
network interfaces. Use "127.0.0.1" to restrict access to the local machine.
WithReplicas(CreateContainerRequest, int)
Sets the number of container replicas to create.
public static CreateContainerRequest WithReplicas(this CreateContainerRequest request, int replicas)
Parameters
requestCreateContainerRequestreplicasint
Returns
Exceptions
- ArgumentOutOfRangeException
Thrown when
replicasis less than 1.
WithVolume(CreateContainerRequest, VolumeMount)
Adds a structured volume mount to the container.
public static CreateContainerRequest WithVolume(this CreateContainerRequest request, VolumeMount volume)
Parameters
requestCreateContainerRequestvolumeVolumeMount
Returns
WithVolume(CreateContainerRequest, string)
Adds a volume binding to the container using the Docker-style
host:container[:ro|rw] format.
public static CreateContainerRequest WithVolume(this CreateContainerRequest request, string volume)
Parameters
requestCreateContainerRequestvolumestring
Returns
WithVolume(CreateContainerRequest, string, string, bool)
Adds a volume mapping from a host path (or named volume) to a container path.
public static CreateContainerRequest WithVolume(this CreateContainerRequest request, string hostPath, string containerPath, bool readOnly = false)
Parameters
requestCreateContainerRequestThe container request.
hostPathstringThe host path or named volume.
containerPathstringThe path inside the container.
readOnlyboolWhether the mount should be read-only.