pub struct HostConfig {
Show 38 fields pub auto_remove: Option<bool>, pub binds: Option<Vec<String, Global>>, pub cap_add: Option<Vec<String, Global>>, pub cap_drop: Option<Vec<String, Global>>, pub cgroup: Option<String>, pub cgroupns_mode: Option<String>, pub console_size: Option<Vec<usize, Global>>, pub container_id_file: Option<String>, pub dns: Option<Vec<String, Global>>, pub dns_options: Option<Vec<String, Global>>, pub dns_search: Option<Vec<String, Global>>, pub extra_hosts: Option<Vec<String, Global>>, pub group_add: Option<Vec<String, Global>>, pub ipc_mode: Option<String>, pub isolation: Option<String>, pub links: Option<Vec<String, Global>>, pub log_config: Option<HostConfigLogConfigInlineItem>, pub masked_paths: Option<Vec<String, Global>>, pub mounts: Option<Vec<Mount, Global>>, pub network_mode: Option<String>, pub oom_score_adj: Option<usize>, pub pid_mode: Option<String>, pub port_bindings: Option<HashMap<String, Vec<PortBinding, Global>, RandomState>>, pub privileged: Option<bool>, pub publish_all_ports: Option<bool>, pub readonly_paths: Option<Vec<String, Global>>, pub readonly_rootfs: Option<bool>, pub restart_policy: Option<RestartPolicy>, pub runtime: Option<String>, pub security_opt: Option<Vec<String, Global>>, pub shm_size: Option<usize>, pub storage_opt: Option<HashMap<String, String, RandomState>>, pub sysctls: Option<HashMap<String, String, RandomState>>, pub tmpfs: Option<HashMap<String, String, RandomState>>, pub uts_mode: Option<String>, pub userns_mode: Option<String>, pub volume_driver: Option<String>, pub volumes_from: Option<Vec<String, Global>>,
}
Expand description

Container configuration that depends on the host we are running on

Fields

auto_remove: Option<bool>

Automatically remove the container when the container’s process exits. This has no effect if RestartPolicy is set.

binds: Option<Vec<String, Global>>

A list of volume bindings for this container. Each volume binding is a string in one of these forms:

  • host-src:container-dest[:options] to bind-mount a host path into the container. Both host-src, and container-dest must be an absolute path.
  • volume-name:container-dest[:options] to bind-mount a volume managed by a volume driver into the container. container-dest must be an absolute path.

options is an optional, comma-delimited list of:

  • nocopy disables automatic copying of data from the container path to the volume. The nocopy flag only applies to named volumes.
  • [ro|rw] mounts a volume read-only or read-write, respectively. If omitted or set to rw, volumes are mounted read-write.
  • [z|Z] applies SELinux labels to allow or deny multiple containers to read and write to the same volume.
    • z: a shared content label is applied to the content. This label indicates that multiple containers can share the volume content, for both reading and writing.
    • Z: a private unshared label is applied to the content. This label indicates that only the current container can use a private volume. Labeling systems such as SELinux require proper labels to be placed on volume content that is mounted into a container. Without a label, the security system can prevent a container’s processes from using the content. By default, the labels set by the host operating system are not modified.
  • [[r]shared|[r]slave|[r]private] specifies mount propagation behavior. This only applies to bind-mounted volumes, not internal volumes or named volumes. Mount propagation requires the source mount point (the location where the source directory is mounted in the host operating system) to have the correct propagation properties. For shared volumes, the source mount point must be set to shared. For slave volumes, the mount must be set to either shared or slave.
cap_add: Option<Vec<String, Global>>

A list of kernel capabilities to add to the container. Conflicts with option ‘Capabilities’.

cap_drop: Option<Vec<String, Global>>

A list of kernel capabilities to drop from the container. Conflicts with option ‘Capabilities’.

cgroup: Option<String>

Cgroup to use for the container.

cgroupns_mode: Option<String>

cgroup namespace mode for the container. Possible values are:

  • "private": the container runs in its own private cgroup namespace
  • "host": use the host system’s cgroup namespace

If not specified, the daemon default is used, which can either be "private" or "host", depending on daemon version, kernel support and configuration.

console_size: Option<Vec<usize, Global>>

Initial console size, as an [height, width] array. (Windows only)

container_id_file: Option<String>

Path to a file where the container ID is written

dns: Option<Vec<String, Global>>

A list of DNS servers for the container to use.

dns_options: Option<Vec<String, Global>>

A list of DNS options.

dns_search: Option<Vec<String, Global>>

A list of DNS search domains.

extra_hosts: Option<Vec<String, Global>>

A list of hostnames/IP mappings to add to the container’s /etc/hosts file. Specified in the form ["hostname:IP"].

group_add: Option<Vec<String, Global>>

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

ipc_mode: Option<String>

IPC sharing mode for the container. Possible values are:

  • "none": own private IPC namespace, with /dev/shm not mounted
  • "private": own private IPC namespace
  • "shareable": own private IPC namespace, with a possibility to share it with other containers
  • "container:<name|id>": join another (shareable) container’s IPC namespace
  • "host": use the host system’s IPC namespace

If not specified, daemon default is used, which can either be "private" or "shareable", depending on daemon version and configuration.

isolation: Option<String>

Isolation technology of the container. (Windows only)

links: Option<Vec<String, Global>>

A list of links for the container in the form container_name:alias.

log_config: Option<HostConfigLogConfigInlineItem>

The logging configuration for this container

masked_paths: Option<Vec<String, Global>>

The list of paths to be masked inside the container (this overrides the default set of paths).

mounts: Option<Vec<Mount, Global>>

Specification for mounts to be added to the container.

network_mode: Option<String>

Network mode to use for this container. Supported standard values are: bridge, host, none, and container:<name|id>. Any other value is taken as a custom network’s name to which this container should connect to.

oom_score_adj: Option<usize>

An integer value containing the score given to the container in order to tune OOM killer preferences.

pid_mode: Option<String>

Set the PID (Process) Namespace mode for the container. It can be either:

  • "container:<name|id>": joins another container’s PID namespace
  • "host": use the host’s PID namespace inside the container
port_bindings: Option<HashMap<String, Vec<PortBinding, Global>, RandomState>>privileged: Option<bool>

Gives the container full access to the host.

publish_all_ports: Option<bool>

Allocates an ephemeral host port for all of a container’s exposed ports.

Ports are de-allocated when the container stops and allocated when the container starts. The allocated port might be changed when restarting the container.

The port is selected from the ephemeral port range that depends on the kernel. For example, on Linux the range is defined by /proc/sys/net/ipv4/ip_local_port_range.

readonly_paths: Option<Vec<String, Global>>

The list of paths to be set as read-only inside the container (this overrides the default set of paths).

readonly_rootfs: Option<bool>

Mount the container’s root filesystem as read only.

restart_policy: Option<RestartPolicy>runtime: Option<String>

Runtime to use with this container.

security_opt: Option<Vec<String, Global>>

A list of string values to customize labels for MLS systems, such as SELinux.

shm_size: Option<usize>

Size of /dev/shm in bytes. If omitted, the system uses 64MB.

storage_opt: Option<HashMap<String, String, RandomState>>

Storage driver options for this container, in the form {"size": "120G"}.

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

A list of kernel parameters (sysctls) to set in the container. For example:

{"net.ipv4.ip_forward": "1"}
tmpfs: Option<HashMap<String, String, RandomState>>

A map of container directories which should be replaced by tmpfs mounts, and their corresponding mount options. For example:

{ "/run": "rw,noexec,nosuid,size=65536k" }
uts_mode: Option<String>

UTS namespace to use for the container.

userns_mode: Option<String>

Sets the usernamespace mode for the container when usernamespace remapping option is enabled.

volume_driver: Option<String>

Driver that this container uses to mount volumes.

volumes_from: Option<Vec<String, Global>>

A list of volumes to inherit from another container, specified in the form <container name>[:<ro|rw>].

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

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

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more