Docker 101: Override Default Container Commands and Arguments
Run a container using the 'docker run' command, overriding the default container command and arguments.
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.
Run a container using the 'docker run' command, overriding the default container command and arguments.
Practice starting containers in "detached" mode, leaving them running in the background, reading their logs, and re-attaching to them.
Run a container using the 'docker run' command. That's it - that's the challenge.
Practice installing Docker on Fedora and learn about the different components that make up Docker Engine.
Practice installing Docker on Debian and learn about the different components that make up Docker Engine.
Practice installing Docker on Ubuntu and learn about the different components that make up Docker Engine.
Learn how to build and publish an uncompressed container image - a helpful trick to optimize disk I/O for large images, especially when you can benefit from a fast internal network.
Learn how to build a secure, lightweight, and production-ready Python container image for a FastAPI application by following this hands-on challenge full of practical tips and tricks. Solutions for pip + venv, poetry, and uv are included.
Learn how to build a secure, lightweight, and production-ready container image for a dynamically linked Go application by following this hands-on challenge full of practical tips and tricks.
Learn how to build a secure, lightweight, and production-ready container image for a statically linked Go application by following this hands-on challenge full of practical tips and tricks.
Learn how to build a secure, lightweight, and production-ready Node.js container image for a SvelteKit application by following this hands-on challenge full of practical tips and tricks.
Learn how to build a secure, lightweight, and production-ready Node.js container image for a Nuxt application by following this hands-on challenge full of practical tips and tricks.
Can you resolve issues with a Node.js container's termination process to ensure graceful shutdown on 'docker stop'?
Can you make a container exit gracefully after the 'docker stop' command while preserving its extensible entrypoint mechanism?
Learn how to build a secure, lightweight, and production-ready Node.js container image for a Next.js application by following this hands-on challenge full of practical tips and tricks.
Learn how to copy a multi-platform image from one repository to another using the docker manifest command or other, more convenient, tools like crane, skopeo, or regctl.
Learn how to leverage Docker to copy a container image from one repository to another.
Learn how to perform one of the most basic Docker operations - build and publish a container image.
Learn how to fine-tune the container's cgroup to make the container exit when one of its processes runs out of memory.
Run a multi-container Docker Compose application limiting its total CPU and memory usage without specifying the individual container's limits.
Prove your SRE skills - identify and stop an overloaded container, then start a new one with limited CPU and RAM resources.
Learn how to write a Dagger Function to run the unit test suite of a Go project.
Learn how to write a Dagger Function to build a multi-arch Go project.
Learn how to start using Dagger in your project. Practice by creating your first Dagger module and adding some functions to it.
In this simple challenge, you will learn how to install the Dagger CLI on a Linux machine with Docker already running.
Practice copying files to/from running containers to become a container troubleshooting wizard.
Can you unpack the filesystem of a container image into a local directory?
Practice your container debugging skills by editing a file in a running container.
Can you edit a file in a running container? What if there is no shell?
Not all distroless images are created equal. Can you find the right base image for the application in this challenge?
Learn on practice the limitations of FROM scratch images and the ways to mitigate them.
Perform the most fundamental Docker operation - start a container. Sounds too easy? Be ready to also answer a few tricky questions about it!
Learn a bunch of Linux networking tricks while trying to access an Nginx server running inside a container started with ctr and a bare containerd daemon.
Learn a bunch of Linux networking tricks while trying to access an Nginx server running inside a Docker container with no published ports.
Can you find a way to execute a command in a Docker container using ctr?
Learn how to work with containerd namespaces using the ctr command-line client.