Private Registry
vCloud Private Registry provides secure, high-performance Docker image storage and distribution for your applications. Host your private container images with enterprise-grade security, access control, and global content delivery.
Overview
The Private Registry service enables you to:
- Secure Image Storage: Store container images in a private, secure environment
- Access Control: Manage access with user authentication and namespace isolation
- High Availability: Enterprise-grade infrastructure with guaranteed uptime
- Performance: Optimized for fast image pulls and pushes
- Integration: Seamless integration with Kubernetes and CI/CD pipelines
Getting Started
Prerequisites
Before using the Private Registry, ensure you have:
- Docker Engine installed (version 20.10.0+)
- Network connectivity to
k8s.io.reg.vnetwork.dev
- Valid authentication credentials for the registry
- Docker images built locally with appropriate configuration
Registry username and password are provided directly to your email upon service activation. Please check your email or contact VNETWORK support if you haven't received your login credentials.
Image Upload Guide
1. Authentication
1.1. Login to Registry
Authenticate with the registry using Docker CLI:
docker login k8s.io.reg.vnetwork.dev
This command creates/updates authentication information in the ~/.docker/config.json
file. Verify authentication with:
cat ~/.docker/config.json | grep k8s.io.reg.vnetwork.dev
2. Image Tagging
Tag your local image to match the registry namespace format:
docker tag <local_image>:<version> k8s.io.reg.vnetwork.dev/<namespace>/<repository>:<tag>
Example:
docker tag myapp:1.0.0 k8s.io.reg.vnetwork.dev/myteam/myapp:1.0.0
For multi-architecture images, use:
docker buildx build --platform linux/amd64,linux/arm64 -t k8s.io.reg.vnetwork.dev/<namespace>/<repository>:<tag> .
3. Push Image
Push the tagged image to the registry:
docker push k8s.io.reg.vnetwork.dev/<namespace>/<repository>:<tag>
Monitor the push progress layer by layer. Each layer is pushed separately and verified with SHA256 hash.
For large images, consider using parallel uploads:
docker push --disable-content-trust=false k8s.io.reg.vnetwork.dev/<namespace>/<repository>:<tag>
4. Verification
Verify the image accessibility by pulling it on another machine/server:
docker pull k8s.io.reg.vnetwork.dev/<namespace>/<repository>:<tag>
Inspect image details:
docker inspect k8s.io.reg.vnetwork.dev/<namespace>/<repository>:<tag>
List all tags for a repository programmatically:
curl -X GET https://k8s.io.reg.vnetwork.dev/v2/<namespace>/<repository>/tags/list \
-u username:password
Registry Features
Namespace Management
- Organization: Organize images by teams, projects, or environments
- Access Control: Granular permissions per namespace
- Isolation: Complete separation between different namespaces
Image Management
- Version Control: Comprehensive image versioning with tags
- Cleanup Policies: Automated cleanup of old or unused images
- Storage Optimization: Efficient layer deduplication and compression
Security Features
- Authentication: Secure user authentication and authorization
- Encryption: All data encrypted in transit and at rest
- Vulnerability Scanning: Built-in security scanning for container images
- Audit Logging: Complete audit trail for all registry operations
Performance
- Global CDN: Worldwide content distribution for fast pulls
- Caching: Intelligent caching for frequently accessed images
- Parallel Processing: Support for concurrent push/pull operations
- Bandwidth Optimization: Optimized transfer protocols
Integration with Kubernetes
The Private Registry seamlessly integrates with Kubernetes clusters for automated image deployment. See the Kubernetes Integration guide for detailed instructions on:
- Creating image pull secrets
- Configuring service accounts
- Using private images in deployments
- Troubleshooting common issues
Support and Troubleshooting
Common Issues
- Authentication failures: Verify credentials and network connectivity
- Slow transfers: Check network bandwidth and consider parallel uploads
- Tag conflicts: Use unique tags and proper versioning strategies
- Access denied: Verify namespace permissions and credentials
Getting Help
- Documentation: Comprehensive guides and API reference
- Support Portal: 24/7 technical support through vCloud portal
- Email Support: Direct email support for urgent issues
- Community: Access to user community and best practices
For Kubernetes integration and advanced usage, see Kubernetes Integration.