Littley, Michael Brian2018-06-302018-06-302018-06-29vt_gsexam:15138http://hdl.handle.net/10919/83814Containers are an alternative to virtual machines rapidly increasing in popularity due to their minimal overhead. To help facilitate their adoption, containers use management systems with central registries to store and distribute container images. However, these registries rely on other, preexisting services to provide load balancing and storage, which limits their scalability. This thesis introduces a new registry design for Docker, the most prevalent container management system. The new design coalesces all the services into a single, highly scalable, registry. By increasing the scalability of the registry, the new design greatly decreases the distribution time for container images. This work also describes a new Docker registry benchmarking tool, the trace player, that uses real Docker registry workload traces to test the performance of new registry designs and setups.ETDIn CopyrightDocker RegistryScalabilityFailure RecoveryCachingVirtualizationTowards a Scalable Docker RegistryThesis