docker
Options for interacting with Docker.
Backend: ``
Config section: [docker]
Basic options
build_args
--docker-build-args="[<shell_str>, <shell_str>, ...]"
PANTS_DOCKER_BUILD_ARGS
[docker]
build_args = [
<shell_str>,
<shell_str>,
...,
]
[]
Global build arguments (for Docker --build-arg
options) to use for all docker build
invocations.
Entries are either strings in the form ARG_NAME=value
to set an explicit value; or just ARG_NAME
to copy the value from Pants's own environment.
Example:
[docker]
build_args = ["VAR1=value", "VAR2"]
Use the extra_build_args
field on a docker_image
target for additional image specific build arguments.
build_target_stage
--docker-build-target-stage=<str>
PANTS_DOCKER_BUILD_TARGET_STAGE
[docker]
build_target_stage = <str>
None
Global default value for target_stage
on docker_image
targets, overriding the field value on the targets, if there is a matching stage in the Dockerfile
.
This is useful to provide from the command line, to specify the target stage to build for at execution time.
default_repository
--docker-default-repository=<str>
PANTS_DOCKER_DEFAULT_REPOSITORY
[docker]
default_repository = <str>
{name}
Configure the default repository name used in the Docker image tag.
The value is formatted and may reference these variables:
- name
- directory
- parent_directory
Example: --default-repository="{directory}/{name}"
.
The name
variable is the docker_image
's target name, directory
and parent_directory
are the name of the directory in which the BUILD file is for the target, and its parent directory respectively.
Use the repository
field to set this value directly on a docker_image
target.
Any registries or tags are added to the image name as required, and should not be part of the repository name.
registries
--docker-registries="{'key1': val1, 'key2': val2, ...}"
PANTS_DOCKER_REGISTRIES
[docker.registries]
key1 = val1
key2 = val2
...
{}
Configure Docker registries. The schema for a registry entry is as follows:
{
"registry-alias": {
"address": "registry-domain:port",
"default": bool,
},
...
}
If no registries are provided in a docker_image
target, then all default addresses will be used, if any.
The docker_image.registries
may be provided with a list of registry addresses and registry aliases prefixed with @
to be used instead of the defaults.
A configured registry is marked as default either by setting default = true
or with an alias of "default"
.
run_args
--docker-run-args="[<shell_str>, <shell_str>, ...]"
PANTS_DOCKER_RUN_ARGS
[docker]
run_args = [
<shell_str>,
<shell_str>,
...,
]
[]
Additional arguments to use for docker run
invocations.
Example:
$ ./pants run --docker-run-args="-p 127.0.0.1:80:8080/tcp --name demo" src/example:image -- [image entrypoint args]
To provide the top-level options to the docker
client, use [docker].env_vars
to configure the Environment variables as appropriate.
The arguments for the image entrypoint may be passed on the command line after a double dash (--
), or using the --run-args
option.
Defaults to --interactive --tty
when stdout is connected to a terminal.
Advanced options
env_vars
--docker-env-vars="[<shell_str>, <shell_str>, ...]"
PANTS_DOCKER_ENV_VARS
[docker]
env_vars = [
<shell_str>,
<shell_str>,
...,
]
[]
Environment variables to set for docker
invocations.
Entries are either strings in the form ENV_VAR=value
to set an explicit value; or just ENV_VAR
to copy the value from Pants's own environment.
Deprecated options
None
Related subsystems
None