EBRAINS Docker Registry Commands
Quick reference for working with the EBRAINS Docker Registry (Harbor).
Registry Information
EBRAINS Docker Registry URL: docker-registry.ebrains.eu
Web Interface: https://docker-registry.ebrains.eu
Registry Type: Harbor (enterprise-grade Docker registry)
Image URL Format
Components:
- Registry:
docker-registry.ebrains.eu(EBRAINS Harbor instance) - Project: Your Harbor project name (lowercase, hyphens allowed)
- Image Name: Your Docker image name
- Tag: Version or environment identifier
Authentication
Login to Registry
When prompted:
- Username: Your EBRAINS username (usually your email)
- Password: Your CLI secret (NOT your EBRAINS password)
Get CLI Secret
- Visit EBRAINS Docker Registry
- Log in with EBRAINS credentials
- Click your username (top-right)
- Select “User Profile”
- Find “CLI secret” section
- Click “Generate CLI secret” or copy existing one
Logout
Check Login Status
Pull Operations
Pull Image from Registry
Pull All Tags
Pull from Different Projects
Push Operations
Push Image to Registry
Push Multiple Tags
Harbor Project Management
Project Naming
Rules:
- Lowercase letters only
- Numbers allowed
- Hyphens allowed
- No spaces or special characters
Examples:
my-projectbrain-modelinganalysis-toolsweb-services
Project Access Levels
| Level | Description | Who Can Pull |
|---|---|---|
| Private | Default, members only | Project members |
| Public | Anyone authenticated | Any EBRAINS user |
Create Project (Web UI)
- Go to EBRAINS Registry Projects
- Click “New Project”
- Enter Project Name (lowercase, hyphens)
- Select Access Level (Private or Public)
- Click “OK”
Image Management
List Images in Project (Web UI)
- Navigate to Projects
- Click on your project
- View list of images (repositories)
- Click image name to see all tags
View Image Details (Web UI)
For each image tag, you can view:
- Pull command
- Image size
- Creation date
- Vulnerability scan results
- Image layers
- Labels and annotations
- Digest (SHA256)
Delete Image Tag
Common Image URL Patterns
Production Services
Development and Testing
Multi-Environment
GitLab CI/CD Integration
Using in GitLab CI
GitLab CI/CD Variables
Set in GitLab project: Settings → CI/CD → Variables
| Variable | Value | Masked |
|---|---|---|
CI_REGISTRY_USER | Your EBRAINS username | No |
CI_REGISTRY_PASSWORD | Your CLI secret | Yes |
Security and Scanning
Vulnerability Scanning
Harbor automatically scans images for vulnerabilities.
View scan results (Web UI):
- Navigate to project → image → tag
- View “Vulnerabilities” column
- Click to see detailed CVE report
Severity levels:
- Critical
- High
- Medium
- Low
- None
Image Signing
Retention Policies
Configure Retention (Web UI)
- Go to project settings
- Navigate to “Policy” tab
- Configure tag retention rules:
- Keep last N tags
- Keep tags matching pattern
- Keep tags pushed in last N days
Example policy:
- Keep last 10 production tags
- Keep all release candidates
- Delete untagged images after 7 days
Troubleshooting
Permission Denied
Error: denied: requested access to the resource is denied
Solutions:
- Ensure you’re logged in:
docker login docker-registry.ebrains.eu - Check you’re using CLI secret (not EBRAINS password)
- Verify you have access to the project
- Check project exists and name is correct
Image Not Found
Error: Error response from daemon: manifest for image not found
Solutions:
- Verify image URL is correct (lowercase)
- Check tag exists in Harbor Web UI
- Ensure project name is correct
- Verify you have pull access to project
Push Failed
Error: denied: push access denied
Solutions:
- Check you’re logged in
- Verify you have push permissions to project
- Ensure project exists
- Check project name spelling (must be lowercase)
Storage Quota Exceeded
Error: project quota exceeded
Solutions:
- Delete old/unused images
- Contact project admin to increase quota
- Use image retention policies
- Clean up old tags
Best Practices
Do
- Use CLI secret for authentication (not EBRAINS password)
- Create separate projects for different applications
- Use semantic versioning for image tags
- Enable vulnerability scanning
- Set up retention policies to clean old images
- Tag images with Git commit SHA for traceability
- Use public projects sparingly (only for truly public images)
Don’t
- Don’t share CLI secrets
- Don’t use
latesttag in production - Don’t push development images to production projects
- Don’t ignore vulnerability scan results
- Don’t delete images that might be in use
- Don’t use special characters in project names
Quick Reference
Common Commands
URL Format
Related Documentation
- Docker Build Tag Push Reference - Build and tag commands
- Publish Docker Image Tutorial - Complete walkthrough
- EBRAINS Docker Registry - Web interface
- Harbor Documentation - Official Harbor docs