Supported Registries
Docker Hub
Public and private images from the official Docker registry
GitHub Container Registry
Container images stored in GitHub packages
Private Registries
Self-hosted or third-party Docker Registry V2 compatible
Cloud Registries
AWS ECR, Google GCR, Azure ACR, and more
Configuration
Docker Hub
Docker Hub is available by default without configuration. For private images, add authentication:GitHub Container Registry
Connect to GHCR for images stored in GitHub packages:Registry Configuration
Generating GitHub Token
- Go to GitHub Settings > Developer settings > Personal access tokens > Tokens (classic)
- Click Generate new token (classic)
- Select scope:
read:packages(andwrite:packagesif pushing images) - Copy the token (shown only once)
Private Registry
Connect to any Docker Registry V2 compatible private registry:Common Registry URLs
- Harbor
- GitLab Registry
- JFrog Artifactory
- Nexus Repository
Cloud Registries
AWS ECR
AWS ECR
AWS Elastic Container Registry requires temporary credentials:Then configure in Dockhand:
Google Container Registry
Google Container Registry
Configure GCR using a service account:The password should be the entire JSON key file content.
Azure Container Registry
Azure Container Registry
Enable admin user in ACR, then configure:Or use service principal for better security.
Registry Schema
The registry configuration uses the following database schema:Using Registries
Searching Images
Pulling Images
When pulling an image, Dockhand automatically uses registry credentials:Image Name Format
Different registries use different naming conventions:- Docker Hub
- GHCR
- Private Registry
Registry API
Dockhand uses the Docker Registry HTTP API V2:Catalog Endpoint
List all repositories:Tags Endpoint
List tags for an image:Search Endpoint
Docker Hub search:Private registries don’t have a search API. Dockhand searches by filtering the catalog list.
Authentication Methods
Dockhand supports multiple authentication methods:Basic Authentication
Most common method using username and password/token:Bearer Token
For registries using OAuth2/token authentication:- Request token from auth service
- Use token in subsequent requests
No Authentication
For public registries without authentication, leave credentials empty.Troubleshooting
Authentication failed
Authentication failed
- Verify username and password are correct
- For tokens, ensure they haven’t expired
- Check token has required permissions (read:packages, etc.)
- Try generating a new token
- Test credentials with Docker CLI:
Registry not found
Registry not found
- Verify registry URL is correct (including https://)
- Check DNS resolution:
nslookup registry.example.com - Test connectivity:
curl https://registry.example.com/v2/ - Ensure firewall allows outbound HTTPS connections
Catalog listing fails
Catalog listing fails
- Some registries disable catalog listing for security
- Use direct image search instead of browsing
- For Docker Hub, catalog listing is not supported
- Check registry permissions allow catalog access
SSL certificate errors
SSL certificate errors
- For self-signed certificates, add CA to system trust store
- Verify certificate is valid and not expired
- Check certificate matches registry hostname
- For testing only, Docker daemon can skip verification:
/etc/docker/daemon.json
Security Best Practices
- Use tokens instead of passwords when available (GitHub, Docker Hub, GitLab)
- Rotate credentials regularly (every 90 days)
- Use read-only tokens when Dockhand doesn’t need push access
- Enable HTTPS for all private registries
- Audit registry access regularly to detect unauthorized usage
- Use separate credentials for different environments (dev/staging/prod)
Advanced Configuration
Organization Filtering
For registries with many repositories, filter by organization:myorg namespace.
Multiple Registry Instances
Configure multiple entries for the same registry with different credentials:Default Registry
Set one registry as default for image operations:- Edit registry settings
- Enable Set as default
- Images without registry prefix will use this registry
Performance Considerations
- Catalog caching: Large registries cache catalog for 5 minutes
- Search limits: Registry searches return max 100 results
- Pagination: Catalog browsing uses pagination (100 items per page)
- Direct lookup: Searching with full image name (
org/image) is faster than partial searches
Next Steps
Image Management
Learn about pulling and managing images
Container Deployment
Deploy containers from registry images
