pub struct TaskSpecContainerSpec {
Show 27 fields pub image: Option<String>, pub labels: Option<HashMap<String, String>>, pub command: Option<Vec<String>>, pub args: Option<Vec<String>>, pub hostname: Option<String>, pub env: Option<Vec<String>>, pub dir: Option<String>, pub user: Option<String>, pub groups: Option<Vec<String>>, pub privileges: Option<TaskSpecContainerSpecPrivileges>, pub tty: Option<bool>, pub open_stdin: Option<bool>, pub read_only: Option<bool>, pub mounts: Option<Vec<Mount>>, pub stop_signal: Option<String>, pub stop_grace_period: Option<i64>, pub health_check: Option<HealthConfig>, pub hosts: Option<Vec<String>>, pub dns_config: Option<TaskSpecContainerSpecDnsConfig>, pub secrets: Option<Vec<TaskSpecContainerSpecSecrets>>, pub configs: Option<Vec<TaskSpecContainerSpecConfigs>>, pub isolation: Option<TaskSpecContainerSpecIsolationEnum>, pub init: Option<bool>, pub sysctls: Option<HashMap<String, String>>, pub capability_add: Option<Vec<String>>, pub capability_drop: Option<Vec<String>>, pub ulimits: Option<Vec<ResourcesUlimits>>,
}
Expand description

Container spec for the service.


> Note: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are > mutually exclusive. PluginSpec is only used when the Runtime field > is set to plugin. NetworkAttachmentSpec is used when the Runtime > field is set to attachment.

Fields§

§image: Option<String>

The image name to use for the container

§labels: Option<HashMap<String, String>>

User-defined key/value data.

§command: Option<Vec<String>>

The command to be run in the image.

§args: Option<Vec<String>>

Arguments to the command.

§hostname: Option<String>

The hostname to use for the container, as a valid RFC 1123 hostname.

§env: Option<Vec<String>>

A list of environment variables in the form VAR=value.

§dir: Option<String>

The working directory for commands to run in.

§user: Option<String>

The user inside the container.

§groups: Option<Vec<String>>

A list of additional groups that the container process will run as.

§privileges: Option<TaskSpecContainerSpecPrivileges>§tty: Option<bool>

Whether a pseudo-TTY should be allocated.

§open_stdin: Option<bool>

Open stdin

§read_only: Option<bool>

Mount the container’s root filesystem as read only.

§mounts: Option<Vec<Mount>>

Specification for mounts to be added to containers created as part of the service.

§stop_signal: Option<String>

Signal to stop the container.

§stop_grace_period: Option<i64>

Amount of time to wait for the container to terminate before forcefully killing it.

§health_check: Option<HealthConfig>§hosts: Option<Vec<String>>

A list of hostname/IP mappings to add to the container’s hosts file. The format of extra hosts is specified in the hosts(5) man page: IP_address canonical_hostname [aliases…]

§dns_config: Option<TaskSpecContainerSpecDnsConfig>§secrets: Option<Vec<TaskSpecContainerSpecSecrets>>

Secrets contains references to zero or more secrets that will be exposed to the service.

§configs: Option<Vec<TaskSpecContainerSpecConfigs>>

Configs contains references to zero or more configs that will be exposed to the service.

§isolation: Option<TaskSpecContainerSpecIsolationEnum>

Isolation technology of the containers running the service. (Windows only)

§init: Option<bool>

Run an init inside the container that forwards signals and reaps processes. This field is omitted if empty, and the default (as configured on the daemon) is used.

§sysctls: Option<HashMap<String, String>>

Set kernel namedspaced parameters (sysctls) in the container. The Sysctls option on services accepts the same sysctls as the are supported on containers. Note that while the same sysctls are supported, no guarantees or checks are made about their suitability for a clustered environment, and it’s up to the user to determine whether a given sysctl will work properly in a Service.

§capability_add: Option<Vec<String>>

A list of kernel capabilities to add to the default set for the container.

§capability_drop: Option<Vec<String>>

A list of kernel capabilities to drop from the default set for the container.

§ulimits: Option<Vec<ResourcesUlimits>>

A list of resource limits to set in the container. For example: {\"Name\": \"nofile\", \"Soft\": 1024, \"Hard\": 2048}"

Trait Implementations§

source§

impl Clone for TaskSpecContainerSpec

source§

fn clone(&self) -> TaskSpecContainerSpec

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TaskSpecContainerSpec

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TaskSpecContainerSpec

source§

fn default() -> TaskSpecContainerSpec

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for TaskSpecContainerSpec

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq<TaskSpecContainerSpec> for TaskSpecContainerSpec

source§

fn eq(&self, other: &TaskSpecContainerSpec) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for TaskSpecContainerSpec

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for TaskSpecContainerSpec

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,