docker
command provides utilities for building, tagging, and pushing Docker images to container registries. This command automatically parses registry information from your deployment configuration and supports both Docker Hub and custom registries.
build-push
Build, tag, and push a Docker image for your agent deployment. This command reads configuration from yourpcc-deploy.toml
file to automatically determine registry settings, image names, and versions.
Usage:
Name of the agent to build image for. If not provided, uses the
agent_name
from your pcc-deploy.toml
file.Registry type to push to. Supported values:
dockerhub
, custom
. When not
specified, automatically detected from the image
field in your
pcc-deploy.toml
file.Registry username for authentication. When not specified, automatically parsed
from the
image
field in your pcc-deploy.toml
file (e.g., myusername
from
myusername/app:1.0
).Custom registry URL (required for custom registries). When not specified,
automatically parsed from the
image
field for custom registries (e.g.,
gcr.io
from gcr.io/project/app:1.0
).Version tag for the image. When not specified, automatically extracted from
the
image
field in your pcc-deploy.toml
file (e.g., 1.0
from
myusername/app:1.0
).Build and tag only, do not push to registry. Useful for local testing or when
you want to push manually later.
Do not tag the image as
latest
. By default, images are tagged with both the
specified version and latest
.Configuration
Thedocker build-push
command reads configuration from your pcc-deploy.toml
file to minimize required command-line arguments. Here’s how different registry setups work:
Docker Hub (Default)
For Docker Hub repositories, the minimal configuration is:- Registry:
dockerhub
- Username:
myusername
- Agent name:
my-agent
- Version:
1.0
Custom Registry
For custom registries like Google Container Registry, AWS ECR, or private registries:- Registry:
custom
- Registry URL:
gcr.io
- Username/Project:
my-project
- Agent name:
my-agent
- Version:
1.0
Docker Configuration Section
For advanced configuration, add a[docker]
section:
[docker]
options:
Whether to automatically tag the image as
latest
in addition to the
specified version.Examples
Basic Usage (Recommended)
With a properly configuredpcc-deploy.toml
:
Override Version
Build Only
Different Registry
Skip Latest Tag
Platform Support
All images are built for thelinux/arm64
platform, which is required for Pipecat Cloud deployments. This is automatically configured and cannot be changed.
Error Handling
The command provides helpful error messages for common issues:- Authentication errors: Suggests the appropriate
docker login
command - Missing Dockerfile: Indicates that a Dockerfile must be present in the current directory
- Registry access issues: Provides guidance on checking permissions and authentication