airflow.contrib.operators.docker_swarm_operator
¶
Run ephemeral Docker Swarm services
Module Contents¶
-
class
airflow.contrib.operators.docker_swarm_operator.
DockerSwarmOperator
(image, *args, **kwargs)[source]¶ Bases:
airflow.operators.docker_operator.DockerOperator
Execute a command as an ephemeral docker swarm service. Example use-case - Using Docker Swarm orchestration to make one-time scripts highly available.
A temporary directory is created on the host and mounted into a container to allow storing files that together exceed the default disk size of 10GB in a container. The path to the mounted directory can be accessed via the environment variable
AIRFLOW_TMP_DIR
.If a login to a private registry is required prior to pulling the image, a Docker connection needs to be configured in Airflow and the connection ID be provided with the parameter
docker_conn_id
.- Parameters
image (str) – Docker image from which to create the container. If image tag is omitted, “latest” will be used.
api_version (str) – Remote API version. Set to
auto
to automatically detect the server’s version.auto_remove (bool) – Auto-removal of the container on daemon side when the container’s process exits. The default is False.
command (str or list) – Command to be run in the container. (templated)
docker_url (str) – URL of the host running the docker daemon. Default is unix://var/run/docker.sock
environment (dict) – Environment variables to set in the container. (templated)
force_pull (bool) – Pull the docker image on every run. Default is False.
mem_limit (float or str) – Maximum amount of memory the container can use. Either a float value, which represents the limit in bytes, or a string like
128m
or1g
.tls_ca_cert (str) – Path to a PEM-encoded certificate authority to secure the docker connection.
tls_client_cert (str) – Path to the PEM-encoded certificate used to authenticate docker client.
tls_client_key (str) – Path to the PEM-encoded key used to authenticate docker client.
tls_hostname (str or bool) – Hostname to match against the docker server certificate or False to disable the check.
tls_ssl_version (str) – Version of SSL to use when communicating with docker daemon.
tmp_dir (str) – Mount point inside the container to a temporary directory created on the host by the operator. The path is also made available via the environment variable
AIRFLOW_TMP_DIR
inside the container.user (int or str) – Default user inside the docker container.
docker_conn_id (str) – ID of the Airflow connection to use