Write a Dockerfile for a Containerized CLI Tool
Write a Dockerfile for a simple CLI tool and learn how to use the ENTRYPOINT instruction to improve the user experience of containerized command-line applications.
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.
Write a Dockerfile for a simple CLI tool and learn how to use the ENTRYPOINT instruction to improve the user experience of containerized command-line applications.
Write a Dockerfile for a simple web service and learn how Docker images can improve the application startup UX by defining sensible runtime defaults using ENV, USER, and STOPSIGNAL instructions.
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.
Explore the key container management operations by walking through all the phases of the container lifecycle - from creation to termination and removal.
Learn the difference between stopping and permanently removing containers while operating a personal finance tracker application.
Learn how to execute commands inside running containers using 'docker exec' - a crucial skill for debugging containerized applications and exploring container environments.
Learn how to override a container's default entrypoint to run an interactive shell instead of the intended application, a useful technique for debugging and exploring containerized applications.