Use your devcontainer.json
Run a repo's devcontainer.json on a Prized box with the Dev Containers CLI or VS Code's Reopen in Container: image, features, Docker Compose, Docker in Docker, and create commands, with nothing Prized-specific in the file.
On this page8
A box runs Docker, so the Dev Containers CLI, the open-source reference implementation of the spec Codespaces and Ona read, builds your repo's .devcontainer/ there, with nothing Prized-specific in it. The box keeps its disk, so the container is built once.
1. Get a box
Sign up at prized.dev: the tour starts a box on $30 of free credit with no card, then shows one command that installs the CLI and signs this machine in (Quickstart). Most dev containers want a Small (4 vCPU, 16 GB) or larger (Box size); to resize a smaller box, using your box's name for mango:
prized box resize mango Small2. Install the Dev Containers CLI on the box
Open a shell on the box with prized ssh, then:
sudo snap install node --classic --channel=22
sudo npm install -g @devcontainers/cliThe CLI needs Node.js 20 or later, newer than Ubuntu's own nodejs package. Both lines take about 15 seconds.
3. Start the container
git clone https://github.com/you/myproject ~/code/myproject
cd ~/code/myproject
devcontainer up --workspace-folder .It pulls or builds the image, installs the features, runs onCreateCommand and postCreateCommand, and ends with "outcome":"success". A first build takes two to five minutes; after that, and after the box restarts, devcontainer up starts the same container in seconds. If prized setup already syncs the project to ~/code/myproject, skip the clone; for a private repo, clone with gh repo clone owner/name ~/code/myproject.
4. Work in it
devcontainer exec --workspace-folder . npm testdevcontainer exec runs a command in the container as its remoteUser, in its workspace folder; devcontainer exec --workspace-folder . bash opens a shell there. The repo folder is mounted into the container, so edits on the box, by you, an agent, or sync from your laptop, are in the container at once. An agent on the box runs the tests the same way: say so in your CLAUDE.md or AGENTS.md.
5. Open its ports on your machine
The CLI does not act on forwardPorts; an editor does that. Publish the port with appPort, then recreate the container, which reruns its create commands:
"appPort": [8080]devcontainer up --workspace-folder . --remove-existing-containerPort 8080 then opens on your machine's localhost like any port on the box (Ports), once the app listens on 0.0.0.0 inside the container, as any published Docker port needs (vite --host, for one). prized ports share 8080 makes a link for your workspace's members. A Docker Compose config publishes a port with ports in its compose file instead.
Or open it in VS Code
Clone the repo on the box as in step 3. Then install Microsoft's Remote - SSH and Dev Containers extensions, run Remote-SSH: Connect to Host and pick your box (steps), open ~/code/myproject, and run Dev Containers: Reopen in Container. VS Code builds the container with the box's Docker, so it needs neither step 2 nor Docker on your machine, and forwards the container's forwardPorts to your machine itself (VS Code's guide).
Box size
- Memory decides the size. On a Small, a Spring Boot app's tests, with MySQL and Postgres in Docker in Docker, ran in 95 seconds in under 4 GB, and a Node monorepo's API tests in under 8 GB. A Nano ran the same Spring Boot tests in about 4 minutes, using swap; give a monorepo or several services a Small or larger.
- Disk: a dev container image is often 2.5 to 3.5 GB, with as much again in build cache, which
docker builder prunefrees (Machines).
If it fails
- A feature stops on a newer base image.
docker-in-docker:2with its default"moby": truefails onmcr.microsoft.com/, which is now Ubuntu 26.04: move todevcontainers/ base:ubuntu docker-in-docker:4or set"moby": falsein its options. A staleonCreateCommandorworkspaceFolderfails on any host the same way; fix it in the file. - To fix it without a commit, keep a corrected copy outside the repo,
appPortincluded, and name it on every command:devcontainer up --workspace-folder . --override-config ~/devcontainer.json, and the same fordevcontainer exec. Adding a feature withdevcontainer up --additional-featuresdoes not change the options of one the file already has. - Docker in Docker works: privileged containers, cgroup v2, Testcontainers, and Compose inside the container run as they do elsewhere.
- amd64 only: an image or feature with no amd64 build does not run, since boxes are x86_64 (Machines).