Get Started with Docker Sandboxes
Developers and hobbyists new to sandboxes, working solo.
Learn what a Docker Sandbox is, run an AI coding agent inside one, customize it with kits, and capture the whole setup in a file you can share.
Explore →Docker Learn
Concept videos, hands-on guides with terminals that run entirely in your browser, and guides that help you apply the work to your own projects.
Developers and hobbyists new to sandboxes, working solo.
Learn what a Docker Sandbox is, run an AI coding agent inside one, customize it with kits, and capture the whole setup in a file you can share.
Explore →Developers who have outgrown the defaults, and team leads packaging an environment for everyone else.
Build your own Docker Sandbox kits — tools, skills, and authenticated access to your services — and publish them so your team gets the same environment.
Explore →Developers new to Docker, or who have used it without knowing what it was doing.
Learn what containers and images are, run a real app in a container, keep its data, and run it alongside a database with Docker Compose.
Explore →Developers who can run containers and are ready to package their own code.
Write a Dockerfile for a real app, make it build fast, make it small, and push it to Docker Hub for anyone to run.
Explore →Team leads and staff-plus engineers responsible for what their team ships.
Start from a trusted base, find and fix what's actually exploitable, enforce your standards, sign what you build, and let production run only what you can verify.
Explore →Find out why changing one line of code can make docker build reinstall every dependency. See the layers your Dockerfile creates, then reorder it so the build cache skips the slow steps.
A container's files disappear when you remove it. Keep a to-do app's database in a named volume so it survives a new container, bind-mount a directory so you can see the database on your own disk, and learn which one to reach for.
Connect a to-do app to a MySQL database by hand on a Docker network, feel how many flags that takes, then describe the same app in one compose.yaml and run it with a single command.
Run a real to-do app in a container, reach it from your browser, run a second copy beside it, configure it with an environment variable, look inside it, and see what happens to its data when you remove it.
Name your image for a registry, sign in, and push it to Docker Hub with a version tag and latest, then pull it back and run it the way anyone else would.
Split a Node.js Dockerfile into build stages and a slim final stage, so the image ships the built frontend and production dependencies but leaves the compilers and dev tools behind. Then measure the difference.