Skip to content

Coming from Docker

Last updated: 2026-08-12

If you think in Docker commands, most of them carry over. The big difference: each “container” is a real microVM with its own kernel, and the named persistent unit is called a workspace. This page maps the commands first, then covers what is intentionally different.

DockermicroagentNotes
docker run --rm IMAGE CMDmicroagent run IMAGE CMDOne-shot: boots a microVM, runs the command, removes scratch state. Disposable is the default; pass --keep to keep state.
docker run -d --name web IMAGEmicroagent create --name web --image IMAGE, then microagent start webA workspace persists between starts. Use --service-command for a long-running process.
docker psmicroagent psLists running workspaces. Use microagent list or microagent ls for saved workspace inventory.
docker exec web CMDmicroagent exec web -- CMDStructured result with exit code, stdout, and stderr. Note the -- before the command.
docker exec -it web bashmicroagent connect webOpens the workspace console.
docker stop webmicroagent halt webGraceful shutdown; stop also works as a pure alias of halt. If the VM doesn’t shut down cleanly within the fixed graceful window, follow up with microagent kill. See halt, not stop.
docker rm webmicroagent delete webPrompts before deleting; if the workspace is running it offers to stop it first. --force kills and deletes.
docker cp app.py web:/srv/microagent cp app.py web:/srv/Same shape, but works on a stopped workspace: files move through the disk image, not a running daemon.
docker logs webmicroagent logs webCaptured serial console output. -f follows.
docker imagesmicroagent image listLists local image records.
docker commit web REFmicroagent commit web REFSnapshots a stopped workspace’s rootfs into an OCI image.
docker network inspect webmicroagent network webInspect a workspace’s network. microagent has two modes: user (default outbound NAT plus published ports) and isolated.
docker volume create/ls/inspect/rmmicroagent volume create/list/status/deleteNamed volumes are managed ext4 disks. Attach with -v data:/work.

The familiar flags work where they map cleanly to microVM behavior: -e (guest environment variable), -p (publish a TCP port), --name, and --rm. The -v flag is deliberately narrow: it accepts named volumes, tar bundles, and ext4 disk images, not host directories. Unsupported features such as --privileged, namespace flags, and host bind mounts fail with targeted guidance instead of being silently translated.

There is no -v /host/dir:/guest/dir. A volume is a managed ext4 disk (or a tar bundle built into one), and everything the guest reads or writes is a block device. The microVM boundary means the guest never shares a live host filesystem. To move a directory in, package it as a tar bundle; to move files out, use microagent cp or declare --output artifacts. See Storage.

The guest already has its own kernel and full root inside the microVM, so there is no privileged mode to escalate to. Host access stays on the host.

microagent does not build images. Build with the tooling you use today (Docker, Buildah, your CI) and point microagent run at the result; it consumes standard OCI images. To capture changes a workspace made to its rootfs, microagent commit snapshots a stopped workspace back into an OCI image.

Docker has stop and kill. microagent’s canonical graceful verb is halt; stop is a pure alias of halt, so the docker stop habit keeps working unchanged:

  • halt (alias stop) - clean disk-preserving shutdown. Guest PID 1 sends the image’s OCI StopSignal to the workload, then powers off. The host gives that sequence about 15 seconds; the VM process exits, the disk stays, and start boots the same disk back up.
  • kill - hard terminate, for when the guest doesn’t exit within that window. halt never escalates to kill on its own.

Both leave the disk in place. halt is the deliberate “park it and start it later” verb; kill is for making an unresponsive VM process go away.

delete prompts before deleting; if the workspace is running it offers to halt it first. --force kills and deletes. The glossary has the full lifecycle vocabulary, including pause/resume and quarantine.