moby /

Moby

Live map
Snapshotmaster · d430e1c

How the Docker Engine accepts a container request, prepares images, storage, networking, and mounts, then delegates process execution to containerd.

Click a building or route
Choose a path

A client request is decoded, enriched with image and resource configuration, and recorded under a new ID.

System map8 components · 9 connections
130%
Moby: an API request becomes an isolated container architectureTrace create first, then start. Creation records configuration and resources; start crosses the runtime boundary and produces observable state.HTTP request with Cont…container config, host…image reference, platf…manifest descriptors, …bind, named-volume and…network ID, endpoint o…container ID, config, …Docker clientHTTP APIroutersEngine daemonImage serviceContainerstorecontainerdruntimelibnetworkVolume service
Connections
BuildingsEntryServiceComputeStorageRuntimeToolingExternal

Terms, in plain English

Engine APIThe versioned HTTP interface used by Docker clients to control the daemon.

How to study this repo

  1. 1
    Follow the HTTP boundary

    Trace ContainerCreate from the Go client into the versioned container router and note where JSON becomes Go types.

  2. 2
    Separate create from start

    Compare daemon/create.go with daemon/start.go to see which work prepares state and which launches a process.

  3. 3
    Study delegated subsystems

    Read the containerd, libnetwork, and volume service boundaries and list the payload each one owns.