Docker 101: Publish All Exposed Ports on Random Host Ports to Avoid Port Conflicts
Can you get several builds of an app running side by side without port conflicts, so you can test them simultaneously?
Focused, hands-on problems for sharpening your DevOps and server-side skills. Some teach specific concepts while others mirror real-world scenarios. Every challenge includes hints, feedback, and automated solution checks.
Can you get several builds of an app running side by side without port conflicts, so you can test them simultaneously?
A common setup for small deployments: two servers (VM or bare-metal), each with a public and a private IP. The app listens on the public port but wants to talk to Redis over the private network. Can you set it up?
Practice accessing a containerized service directly from the Docker host using its IP address.
Learn how to keep a database available to an app running on your workstation without exposing its port to other machines on the network.
A web app is listening inside a container, but the browser can't reach its IP address. Recreate the container so the app is available on port 80 of the Docker host.
Practice using docker login to authenticate against multiple private container registries with different credentials, then pull and push images across them.
Re-tag local container images with fully-qualified references and publish them to different registries using the 'docker tag' and 'docker push' commands.
Pull a container image built for a non-native CPU architecture using the 'docker pull --platform' flag.
Practice pulling a container image using an immutable digest reference instead of a mutable tag.
Pull container images using the 'docker pull' command and explore how the image name determines its source registry and repository.