content/manuals/ai/docker-agent/sharing-agents.md
Push your agent to a registry and share it by name. Your teammates
reference agentcatalog/security-expert instead of copying YAML files
around or asking you where your agent configuration lives.
When you update the agent in the registry, everyone gets the new version the next time they pull or restart their client.
To push agents to a registry, authenticate first:
$ docker login
For other registries, use their authentication method.
Push your agent configuration to a registry:
$ docker agent push ./agent.yml myusername/agent-name
Push creates the repository if it doesn't exist yet. Use Docker Hub or any OCI-compatible registry.
Tag specific versions:
$ docker agent push ./agent.yml myusername/agent-name:v1.0.0
$ docker agent push ./agent.yml myusername/agent-name:latest
Pull an agent to inspect it locally:
$ docker agent pull agentcatalog/pirate
This saves the configuration as a local YAML file.
Run agents directly from the registry:
$ docker agent run agentcatalog/pirate
Or reference it directly in integrations:
Use registry references in ACP configurations so your editor always uses the latest version:
{
"agent_servers": {
"myagent": {
"command": "docker",
"args": ["agent", "aserve", "acp", "agentcatalog/pirate"]
}
}
}
Agents can be exposed as tools in MCP clients:
{
"mcpServers": {
"myagent": {
"command": "docker",
"args": ["agent", "serve", "mcp", "agentcatalog/pirate"]
}
}
}