public sealed class Runnable.Types.Container : IMessage<Runnable.Types.Container>, IEquatable<Runnable.Types.Container>, IDeepCloneable<Runnable.Types.Container>, IBufferMessage, IMessage
Reference documentation and code samples for the Batch v1 API class Runnable.Types.Container.
Container runnable.
Implements
IMessageRunnableTypesContainer, IEquatableRunnableTypesContainer, IDeepCloneableRunnableTypesContainer, IBufferMessage, IMessageNamespace
Google.Cloud.Batch.V1Assembly
Google.Cloud.Batch.V1.dll
Constructors
Container()
public Container()
Container(Container)
public Container(Runnable.Types.Container other)
Parameter | |
---|---|
Name | Description |
other |
RunnableTypesContainer |
Properties
BlockExternalNetwork
public bool BlockExternalNetwork { get; set; }
If set to true, external network access to and from container will be
blocked, containers that are with block_external_network as true can
still communicate with each other, network cannot be specified in the
container.options
field.
Property Value | |
---|---|
Type | Description |
bool |
Commands
public RepeatedField<string> Commands { get; }
Overrides the CMD
specified in the container. If there is an ENTRYPOINT
(either in the container image or with the entrypoint field below) then
commands are appended as arguments to the ENTRYPOINT.
Property Value | |
---|---|
Type | Description |
RepeatedFieldstring |
EnableImageStreaming
public bool EnableImageStreaming { get; set; }
Optional. If set to true, this container runnable uses Image streaming.
Use Image streaming to allow the runnable to initialize without waiting for the entire container image to download, which can significantly reduce startup time for large container images.
When enableImageStreaming
is set to true, the container
runtime is containerd instead of Docker.
Additionally, this container runnable only supports the following
container
subfields: imageUri
,
commands[]
, entrypoint
, and
volumes[]
; any other container
subfields are ignored.
For more information about the requirements and limitations for using
Image streaming with Batch, see the image-streaming
sample on
GitHub.
Property Value | |
---|---|
Type | Description |
bool |
Entrypoint
public string Entrypoint { get; set; }
Overrides the ENTRYPOINT
specified in the container.
Property Value | |
---|---|
Type | Description |
string |
ImageUri
public string ImageUri { get; set; }
The URI to pull the container image from.
Property Value | |
---|---|
Type | Description |
string |
Options
public string Options { get; set; }
Arbitrary additional options to include in the "docker run" command when running this container, e.g. "--network host".
Property Value | |
---|---|
Type | Description |
string |
Password
public string Password { get; set; }
Required if the container image is from a private Docker registry. The password to login to the Docker registry that contains the image.
For security, it is strongly recommended to specify an
encrypted password by using a Secret Manager secret:
projects/*/secrets/*/versions/*
.
Warning: If you specify the password using plain text, you risk the password being exposed to any users who can view the job or its logs. To avoid this risk, specify a secret that contains the password instead.
Learn more about Secret Manager and using Secret Manager with Batch.
Property Value | |
---|---|
Type | Description |
string |
Username
public string Username { get; set; }
Required if the container image is from a private Docker registry. The username to login to the Docker registry that contains the image.
You can either specify the username directly by using plain text or
specify an encrypted username by using a Secret Manager secret:
projects/*/secrets/*/versions/*
. However, using a secret is
recommended for enhanced security.
Caution: If you specify the username using plain text, you risk the username being exposed to any users who can view the job or its logs. To avoid this risk, specify a secret that contains the username instead.
Learn more about Secret Manager and using Secret Manager with Batch.
Property Value | |
---|---|
Type | Description |
string |
Volumes
public RepeatedField<string> Volumes { get; }
Volumes to mount (bind mount) from the host machine files or directories into the container, formatted to match docker run's --volume option, e.g. /foo:/bar, or /foo:/bar:ro
If the TaskSpec.Volumes
field is specified but this field is not, Batch
will mount each volume from the host machine to the container with the
same mount path by default. In this case, the default mount option for
containers will be read-only (ro) for existing persistent disks and
read-write (rw) for other volume types, regardless of the original mount
options specified in TaskSpec.Volumes
. If you need different mount
settings, you can explicitly configure them in this field.
Property Value | |
---|---|
Type | Description |
RepeatedFieldstring |