Build a Container Image for Another Platform Using QEMU Emulation
Learn how to build container images for non-native CPU architectures (e.g., arm64 on an amd64 host) using QEMU user-space emulation and Docker.
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.
Challenges crafted by iximiuz Labs to help you master DevOps and Server Side topics.
Learn how to build container images for non-native CPU architectures (e.g., arm64 on an amd64 host) using QEMU user-space emulation and Docker.
Save container images as OCI layouts and explore the on-disk structure of single-platform (manifest-based) and multi-platform (index-based) images.
Practice optimizing applications' container images using multi-stage builds. Rewrite single-stage Dockerfiles for a Go backend and a TypeScript frontend to produce smaller, production-ready images without unnecessary build tools and dev dependencies.
Build a container image from a Dockerfile and use Docker commands to inspect its size and layer composition.
Practice building and compiling applications inside their Dockerfiles by containerizing a Go backend and a TypeScript frontend.
Learn how to configure a Docker host and its containers to automatically restart when the server reboots or the Docker daemon restarts.
Unlike Docker, Podman is daemonless and requires some extra systemd help to monitor and restart containers. Learn how to configure a Podman host and its containers to automatically restart after a server reboot.
An HTTP service is running on the server, but it's exposed to the entire network. Use Linux firewall tools to block external access to the service port while keeping it accessible locally.
Leverage your knowledge of Linux namespaces to reach an application's internal debug interface without installing anything into the container.
Learn how to run multiple Docker containers sharing the same PID, IPC, and network namespaces - a foundation of many advanced container use cases, including Kubernetes Pods construction and container debugging tools.