Docker Proxy
Repsy’s Docker Proxy feature allows your Docker repositories to act as intelligent proxies to external Docker registries like Docker Hub or private repositories.
A Docker proxy repository acts as an intermediary between your Docker clients and external registries. When you pull an image that doesn’t exist locally, the proxy automatically fetches it from the configured upstream registries and caches it for future use.
Setting Up Docker Proxy
Configuring Proxy Sources
You can configure multiple upstream registries with different priorities:
Public Docker Registry
Proxy URL: https://registry-1.docker.io
Private Docker Registry
Proxy URL: https://docker.yourcompany.com
Username: your-username
Password: your-token
Common Configuration Options
For all proxy types, you can configure:
- SSL Validation: Enable/disable SSL certificate validation
- Connection Timeout: Set timeout in milliseconds (default: 5000ms)
- Active Status: Enable or disable the proxy
How Docker Proxy Works
Image Pull Flow
- Client Request: Docker client requests an image from your
Repsy
repository. - Local Check:
Repsy
checks if the image exists in local storage. - Proxy Fallback: If not found locally,
Repsy
queries configured proxies in priority order. - Authentication: Credentials are used if the proxy requires authentication.
- Caching: Downloads and caches the image for future requests.
- Response: Returns the image to the Docker client.
Priority System
Proxies are queried in order of priority. If the first proxy fails or doesn’t contain the requested artifact, the next proxy in line is automatically tried. You can easily change the order of the proxies to customize the resolution priority.
Best Practices
- Set appropriate priorities based on image availability and speed.
- Disable unused proxies to reduce latency and avoid timeouts.
- Regularly update credentials for private registries.
Need Help?
Reach out to [email protected] if you need assistance configuring or troubleshooting Docker proxy functionality.