Supported Registries
- Docker Hub - Private repositories
- GitHub Container Registry (GHCR) -
ghcr.io - Google Container Registry (GCR) -
gcr.ioand Artifact Registry - Amazon ECR - Elastic Container Registry
- Azure Container Registry (ACR)
- Self-hosted - Harbor, GitLab, Nexus, etc.
Adding Registry Credentials
Registry credentials are configured per service. Each container service can have its own credentials for pulling private images.Add Credentials
In the Config tab, find the Image section and click “Add registry credentials”. Fill in:
- Registry URL - The registry hostname
- Username - Your username or access key
- Password/Token - Your password or access token
Registry Configuration
| Registry | URL | Username | Password |
|---|---|---|---|
| Docker Hub | docker.io | Your username | Access token |
| GHCR | ghcr.io | GitHub username | Personal access token (read:packages) |
| GCR | gcr.io | _json_key | Service account JSON key |
| ECR | {account}.dkr.ecr.{region}.amazonaws.com | AWS | aws ecr get-login-password output |
| ACR | {name}.azurecr.io | Registry name | Admin password or SP password |
| Self-hosted | Your registry hostname | Your username | Your password |
Image Name Format
Always include the full registry in the image name:Image Pull Behavior
Suga always pulls the latest version of an image on each deployment. This ensures you get the most recent version even when using the same tag.Troubleshooting
ImagePullBackOff / ErrImagePull
ImagePullBackOff / ErrImagePull
Check:
- Registry URL format is correct
- Credentials haven’t expired
- Image name and tag exist
- Token has read permissions
docker login registry-url && docker pull image:tagWrong Registry Being Used
Wrong Registry Being Used
Use full image name including registry:
Token Expired (ECR)
Token Expired (ECR)
ECR tokens expire after 12 hours. Options:
- Use BYOC with IAM roles (no token needed)
- Implement credential rotation
- Regenerate token and update credentials
Rate Limiting (Docker Hub)
Rate Limiting (Docker Hub)
Docker Hub limits: 100 pulls/6h (anonymous), 200 pulls/6h (authenticated)Solutions:
- Add Docker Hub credentials (increases to 200)
- Use GHCR, GCR, or other registry
- Upgrade to Docker Hub Pro
Security Best Practices
Use Read-Only Tokens
Use Read-Only Tokens
Grant only read permissions:
- Docker Hub: Read-only access token
- GitHub:
read:packagesscope - GCR: “Storage Object Viewer” role
- ECR:
AmazonEC2ContainerRegistryReadOnly - ACR:
AcrPullrole
Rotate Credentials Regularly
Rotate Credentials Regularly
Rotate every 90 days, after team member departure, or after suspected compromise.
Use Specific Image Tags
Use Specific Image Tags