Projects often have dependencies on external services. For example, a project may need to run a database or a message queue. In the past, you would have to run these services on your local machine. This is not ideal for a few reasons, especially given that Agents cannot easily interact with services off the container and the security considerations for a remote solution. On Runloop, you can run these services on a Devbox. We have specific extensible blueprints for running Docker in Docker on a Devbox. You can use one of our standard blueprint images to start a devbox or build your own custom, base blueprint for accomplishing this task.

Standard Blueprints

These Blueprints support Docker-in-Docker. When using these blueprints, your devbox profile is root.
Blueprint NameArchitectureOSLibrary supportDockerfile FROM
runloop/prod-dnd-arm64ARM64DebianSlimFROM runloop:runloop/prod-dnd-arm64
runloop/prod-dnd-x86_64x86_64DebianSlimFROM runloop:runloop/prod-dnd-x86_64
runloop/prod-ubuntu-dnd-arm64ARM64UbuntuSlimFROM runloop:runloop/prod-ubuntu-dnd-arm64
runloop/prod-ubuntu-dnd-x86-64x86_64UbuntuSlimFROM runloop:runloop/prod-ubuntu-dnd-x86-64
runloop/universal-base-ubuntu-24-04-x86-64x86_64Ubuntu 24.04CompleteFROM runloop:runloop/universal-base-ubuntu-24-04-x86-64
runloop/universal-base-ubuntu-24-04-arm64ARM64Ubuntu 24.04CompleteFROM runloop:runloop/universal-base-ubuntu-24-04-arm64

Running Docker in Docker from a Devbox

# This uses universal-base-ubuntu-24-04-x86-64
curl --request POST \
  --url https://api.runloop.ai/v1/devboxes \
  --header "Authorization: Bearer $RUNLOOP_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "docker-in-docker-devbox",
  "blueprint_name": "runloop/universal-base-ubuntu-24-04-x86-64"
}'

Configuring a Blueprint that supports Docker in Docker

# uses prod-ubuntu-dnd.arm64
curl --request POST \
  --url https://api.runloop.ai/v1/blueprints \
  --header "Authorization: Bearer $RUNLOOP_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "docker-in-docker-blueprint",
  "dockerfile": "FROM runloop:runloop/prod-ubuntu-dnd-arm64" 
}'