Secure a Container Registry with Authentication and TLS
Set up your own OCI-compatible container registry with username/password authentication and HTTPS - the kind of protection you'd expect before using a registry in production.
Focused hands-on problems designed to help you hone your DevOps or Server Side skills. Some challenges are more educational, while others are based on real-world scenarios. The platform provides hints and feedback for each challenge, including automated solution checks.
Set up your own OCI-compatible container registry with username/password authentication and HTTPS - the kind of protection you'd expect before using a registry in production.
Stand up a self-hosted container registry so you can push and pull images without relying on a third-party registry. Useful for tests, internal services, air-gapped environments, or just for poking at the OCI Distribution API.
An internal service is halfway through a Python-to-Go rewrite: the amd64 build already runs the new Go code while arm64 still ships the legacy Python one - same API, two completely different codebases and Dockerfiles. Can you build and push a single multi-platform image from the two independent single-platform variants?
Practice using docker login to authenticate against multiple private container registries with different credentials, then pull and push images across them.
Get container images onto a server that has no route to the Internet or access to a container registry.
Re-tag local container images with fully-qualified references and publish them to different registries using the 'docker tag' and 'docker push' commands.
Explore the OCI image index, manifests, and configuration of a remote multi-platform image - without pulling a single byte of filesystem layers into the local Docker daemon.
Pull a container image built for a non-native CPU architecture using the 'docker pull --platform' flag.
Investigate a potentially compromised CI host. A sandboxed "agent" running in the background is suspected of breaking out - confirm the breach and neutralize it without taking the sandbox down.
Practice pulling a container image using an immutable digest reference instead of a mutable tag.