Skip to content

Container Registries

A container registry is a storage and distribution system for container images. It allows you to store, manage, and retrieve containerized applications for deployment. Serverless Containers supports pulling images from both public and private registries that comply with standard Docker protocols.


Use Cases

Container registries are essential in modern DevOps workflows. They enable:

  • Deployment of custom-built applications from your own CI/CD pipeline.
  • Versioning of application images, allowing consistent releases across environments.
  • Team collaboration, by sharing images via public or private repositories.
  • Security and access control, ensuring only authorized users can pull and run sensitive applications.
  • Scalability, by letting infrastructure pull images directly from trusted sources at runtime.

Key Characteristics

Here are the main capabilities of container registries on our platform:

  • Support for public and private registries
    You can use any registry that supports the Docker Registry HTTP API V2.

  • Read-only access required
    Our platform only needs pull permissions to fetch container images.

  • Flexible image references
    Images are referenced using standard Docker format, e.g.:
    docker.io/username/myapp:1.0

  • Authentication support
    Use credentials (username/password or access tokens) when accessing private registries.

  • TLS-encrypted communication
    Registries must be available over HTTPS.

Commonly Supported Registries

Registry URL / Notes
Docker Hub registry.hub.docker.com
GitHub Container Registry ghcr.io
GitLab Container Registry registry.gitlab.com
Azure Container Registry Azure
Quay (Red Hat) quay.io
Google Artifact Registry Recommended for Google Cloud users
Google Container Registry Deprecated as of May 2024
Private Registries Must follow distribution.github.io/distribution.

Best Practices

  • Use access tokens instead of passwords
    Especially for CI/CD pipelines and automation, tokens offer better security.

  • Tag your images clearly
    Use semantic versioning or commit hashes to differentiate builds, e.g. myapp:1.2.3.

  • Limit credentials scope
    Grant only the necessary pull permissions for your containers.

  • Verify your registry supports HTTPS and Docker API v2
    This is required for compatibility with the platform.

  • Keep your images small and optimized
    Use slim base images and multi-stage builds to reduce load time and attack surface.


FAQs

Do I need a private registry?

No. You can use public registries like Docker Hub or GitHub for most use cases. A private registry is useful when you need to restrict access to proprietary applications.


What if I want to use a private registry?

Ensure your private registry is accessible via HTTPS and meets the Docker Registry HTTP API V2 spec. Only pull access is required. See distribution.github.io/distribution for requirements.


Can I use images from deprecated registries like GCR?

Yes, but we recommend migrating to supported alternatives such as Google Artifact Registry (GAR), since Google Container Registry (GCR) has been deprecated as of May 2024.


What credentials are supported?

You can use:

  • Docker Hub username/password
  • GitHub Personal Access Tokens
  • GitLab Deploy Tokens
  • Azure Service Principals
  • Any registry-compatible authentication method

Do I have to push images from my local machine?

No. You can also use CI/CD pipelines (e.g. GitHub Actions, GitLab CI, Jenkins) to build and push images to your preferred registry.


What's Next?

Need help? Reach out to our support team anytime.