Table of Contents

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

request CreateContainerRequest
autoRemove bool

Returns

CreateContainerRequest

WithCommand(CreateContainerRequest, params string[])

Sets the command to run in the container.

public static CreateContainerRequest WithCommand(this CreateContainerRequest request, params string[] command)

Parameters

request CreateContainerRequest
command string[]

Returns

CreateContainerRequest

WithEnvironmentVariable(CreateContainerRequest, string, string)

Adds an environment variable to the container.

public static CreateContainerRequest WithEnvironmentVariable(this CreateContainerRequest request, string key, string value)

Parameters

request CreateContainerRequest
key string
value string

Returns

CreateContainerRequest

WithImage(CreateContainerRequest, string)

Sets the container image.

public static CreateContainerRequest WithImage(this CreateContainerRequest request, string image)

Parameters

request CreateContainerRequest
image string

Returns

CreateContainerRequest

WithLabel(CreateContainerRequest, string, string)

Adds a label to the container.

public static CreateContainerRequest WithLabel(this CreateContainerRequest request, string key, string value)

Parameters

request CreateContainerRequest
key string
value string

Returns

CreateContainerRequest

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

request CreateContainerRequest

The container request.

volumeName string

The Docker volume name to create or reuse.

hostPath string

Absolute path on the host to bind into the volume.

containerPath string

The path inside the container where the volume will be mounted.

mountOptions LocalMountOptions

Mount flags. Defaults to Bind. Combine flags with the bitwise OR operator, e.g. LocalMountOptions.Bind | LocalMountOptions.ReadOnly.

Returns

CreateContainerRequest

WithName(CreateContainerRequest, string)

Sets the container name.

public static CreateContainerRequest WithName(this CreateContainerRequest request, string name)

Parameters

request CreateContainerRequest
name string

Returns

CreateContainerRequest

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

request CreateContainerRequest
containerPort int
hostPort int
protocol string
hostIp string

Returns

CreateContainerRequest

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

request CreateContainerRequest
replicas int

Returns

CreateContainerRequest

Exceptions

ArgumentOutOfRangeException

Thrown when replicas is less than 1.

WithVolume(CreateContainerRequest, VolumeMount)

Adds a structured volume mount to the container.

public static CreateContainerRequest WithVolume(this CreateContainerRequest request, VolumeMount volume)

Parameters

request CreateContainerRequest
volume VolumeMount

Returns

CreateContainerRequest

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

request CreateContainerRequest
volume string

Returns

CreateContainerRequest

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

request CreateContainerRequest

The container request.

hostPath string

The host path or named volume.

containerPath string

The path inside the container.

readOnly bool

Whether the mount should be read-only.

Returns

CreateContainerRequest