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,
)