Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/pyinfra-dev/pyinfra/llms.txt

Use this file to discover all available pages before exploring further.

Manage Docker containers, volumes and networks. These operations allow you to manage Docker from the view of the current inventory host.

Functions

docker.container

Manage Docker containers.
docker.container(
    container,
    image="",
    ports=None,
    networks=None,
    volumes=None,
    env_vars=None,
    labels=None,
    pull_always=False,
    present=True,
    force=False,
    start=True,
    restart_policy=None,
    auto_remove=False,
)

docker.image

Manage Docker images.
docker.image(
    image,
    present=True,
    force=False,
)

docker.volume

Manage Docker volumes.
docker.volume(
    volume,
    driver="",
    labels=None,
    present=True,
)

docker.network

Manage docker networks.
docker.network(
    network,
    driver="",
    gateway="",
    subnet="",
    labels=None,
    ingress=False,
    attachable=False,
    present=True,
)

Examples

from pyinfra.operations import docker

# Run a container
docker.container(
    name="Deploy Nginx container",
    container="nginx",
    image="nginx:alpine",
    ports=["80:80"],
    present=True,
    force=True,
    networks=["proxy", "services"],
    volumes=["nginx_data:/usr/share/nginx/html"],
    pull_always=True,
    restart_policy="unless-stopped",
    auto_remove=True,
)

# Pull a Docker image
docker.image(
    name="Pull nginx image",
    image="nginx:alpine",
    present=True,
)

# Create a Docker volume
docker.volume(
    name="Create nginx volume",
    volume="nginx_data",
    present=True,
)

# Create Docker network
docker.network(
    name="Create proxy network",
    network="proxy",
    attachable=True,
    present=True,
)

Build docs developers (and LLMs) love