Docker
Docker from your first container to a Compose file you can explain. Start here if you have never run one.
Write a compose.yaml for a web server and a checker, start both, read the result and remove them. After this, you can run a two-service project from one file.
Copy a file or folder between a container and your computer, even from a stopped container. After this, you can rescue a file before you delete the container.
Check virtualization, WSL, the docker-desktop distribution, the engine context and memory in the order that finds the cause fastest. After this, you can get a stuck Docker Desktop running without resetting it.
Check CLI resolution, the intended local context and engine connection, then run and verify cleanup of a disposable test container.
Share a folder from your computer with a container, make it read-only and see how a mount can hide files that were already there. After this, you can mount a folder and know what it will and will not keep.
Open a shell with docker exec, run one command without it and read the two errors you will meet first. After this, you can look around inside a container and know why it sometimes refuses.
Find a stopped container, read its exit code and log, and tell a crash from a kill. After this, you can see why a container stopped in under a minute.
Run a container for a single command, pass a setting in with -e and use --rm so nothing is left behind. After this, you can run a quick test in a container and leave no clutter.
Create a network, reach one container from another by name and see the same call fail on the default network. After this, you can fix a bad address error between containers.
Write a four-line Dockerfile, build it and run it, then read the errors for a missing file and a missing Dockerfile. After this, you can package a small script and fix the first build errors yourself.
Put a proxy on a front and a back network and prove which containers can reach which. After this, you can connect one container to several networks and keep the rest isolated.
Read the docker system df summary, find the big image or volume with the verbose form, and decide what is safe to remove. After this, you can find where the space went without running a broad prune.