Sidecar Dind#

This example showcases how one can run Docker in Docker with a sidecar container with Hera

from hera import Env, Sidecar, Task, TaskSecurityContext, Workflow

# this assumes you have set a global token and a global host
with Workflow("sidecar-dind-", generate_name=True) as w:
    Task(
        "sidecar-dind-example",
        image="docker:19.03.13",
        command=["sh", "-c"],
        args=["until docker ps; do sleep 3; done; docker run --rm debian:latest cat /etc/os-release"],
        env=[Env("DOCKER_HOST", value="127.0.0.1")],
        sidecars=[
            Sidecar(
                "dind",
                image="docker:19.03.13-dind",
                command=["dockerd-entrypoint.sh"],
                env=[Env("DOCKER_TLS_CERTDIR", value="")],
                security_context=TaskSecurityContext(privileged=True),
                mirror_volume_mounts=True,
            )
        ],
    )

w.create()