PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Docker

Design a container image registry

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's competency in designing large-scale distributed systems for artifact storage and delivery, including storage architecture, content-addressable deduplication, metadata modeling, access control, replication, caching, and observability.

  • medium
  • Docker
  • System Design
  • Software Engineer

Design a container image registry

Company: Docker

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a cloud service for storing and distributing container images, similar to a hosted container registry. The system should support: - Pushing container images from developers or CI/CD pipelines - Storing image layers and metadata - Tagging versions such as `latest`, `v1.2.3`, and commit-based tags - Pulling images efficiently from many clients across regions - Sharing private repositories with teams and controlling access - Avoiding re-uploading or re-downloading layers that already exist - Cleaning up unreferenced data safely Discuss: - Functional and non-functional requirements - Core APIs and upload/download flows - Metadata schema for repositories, manifests, layers, and tags - Storage design, content-addressable deduplication, and garbage collection - Authentication, authorization, and multi-tenant isolation - Caching, CDN, replication, and scalability strategies - Reliability, consistency trade-offs, and observability Assume the service must handle millions of images, frequent CI pushes, and large pull traffic during deployments.

Quick Answer: This question evaluates a candidate's competency in designing large-scale distributed systems for artifact storage and delivery, including storage architecture, content-addressable deduplication, metadata modeling, access control, replication, caching, and observability.

Docker logo
Docker
Feb 14, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
2
0
Loading...

Design a cloud service for storing and distributing container images, similar to a hosted container registry.

The system should support:

  • Pushing container images from developers or CI/CD pipelines
  • Storing image layers and metadata
  • Tagging versions such as latest , v1.2.3 , and commit-based tags
  • Pulling images efficiently from many clients across regions
  • Sharing private repositories with teams and controlling access
  • Avoiding re-uploading or re-downloading layers that already exist
  • Cleaning up unreferenced data safely

Discuss:

  • Functional and non-functional requirements
  • Core APIs and upload/download flows
  • Metadata schema for repositories, manifests, layers, and tags
  • Storage design, content-addressable deduplication, and garbage collection
  • Authentication, authorization, and multi-tenant isolation
  • Caching, CDN, replication, and scalability strategies
  • Reliability, consistency trade-offs, and observability

Assume the service must handle millions of images, frequent CI pushes, and large pull traffic during deployments.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Docker•More Software Engineer•Docker Software Engineer•Docker System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.