
Docker Inside a smolvm Machine
Runs a working Docker daemon inside a smolvm VM so container-based tools can run there
- Repository
- smol-machines/smolvm
- Stars
- 6,901
- Licence
- Apache-2.0
- Files
- 9 files
What it does
It teaches an agent how to set up a small Linux virtual machine with smolvm and get the Docker engine running inside it, then check that containers can actually be started and that Docker's data lives on the machine's disk. It is useful when software that needs Docker (a test suite that starts containers, an image build, a coding agent that launches containers) has to run inside a machine. The skill also explains that this does not work on Windows and that the setup must be re-checked after restarts on older smolvm versions.
Great for
- Developers who run tests or builds that need Docker but want them isolated in a smolvm machine
- Teams evaluating smolvm for sandboxed coding agents that launch containers
- Anyone whose Docker daemon stopped working after a smolvm machine was stopped and started again
Skip it if
- Simply running an OCI container image, since the skill itself says smolvm can boot those natively without Docker
- Windows machines, because the bundled guest kernel cannot support dockerd, per the skill's own evidence
- Users who want to avoid executing shell scripts or leave a machine running with a Docker socket exposed to the host, since the socket grants real control over the VM
Try asking
- “Set up a Docker daemon inside a smolvm machine and verify that a nested container runs”
- “Check whether Docker inside a smolvm machine is possible on my platform before I start”
- “My Docker inside the smolvm machine stopped working after a restart, so fix it”
- “Create a machine named smolskill-docker and run my test suite's containers inside it”
Install in 3 steps
- 1
Download the skill
The ZIP contains the 9 original files, the Apache-2.0 licence and an attribution note.
docker-in-machine.zip - 2
Add it to your agent
Claude Code (all projects)
mkdir -p ~/.claude/skills && unzip docker-in-machine.zip -d ~/.claude/skills/Claude Code / Agent SDK (this project only)
mkdir -p .claude/skills && unzip docker-in-machine.zip -d .claude/skills/Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.
- 3
Ask for the task
No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.
Get better results
- Run scripts/preflight.sh first; it is read-only and tells you whether your platform is supported.
- Run scripts/start-dockerd.sh on every start, not only the first, especially on smolvm v1.28.0 and earlier.
- Check that docker_root_device points to /dev/vda, because docker info can succeed while Docker data sits on the wrong filesystem.
What's inside
- README.md
- references/traps.md
- references/windows.md
- scripts/cleanup.sh
- scripts/create-docker-machine.sh
- scripts/preflight.sh
- scripts/start-dockerd.sh
- scripts/verify-docker.sh
- SKILL.md
Redistributed unmodified from smol-machines/smolvm under the Apache-2.0 licence. The assessment was drafted with AI from the skill's files on 2026-11-02. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.