function of docker directory structure in /var/lib/docker/

docker

Solution

I don't know the exact role of all files, so I'll start with this, and let others add their own contribution, or refine mine:

/var/lib/docker/
├── aufs                                       # Storage area for AUFS driver
│   ├── diff                                   # Branch directory of layer
│   ├── layers                                 # Infomation about docker layer
│   └── mnt                                    # Mount point of aufs, root of containers
├── containers                                 # Container configurations
│                                                (both LXC and Docker-specific)
├── graph                                      # Storage for the images
├── init
│   └── dockerinit-0.7.3                       # Used as /sbin/init in containers
├── linkgraph.db                               # SQLite database storing links
│                                                and names.
├── lxc-start-unconfined -> /usr/bin/lxc-start # When starting a privileged
│                                                container, this is used in
│                                                lieu of lxc-start, to evade
│                                                AppArmor confinement (which
│                                                matches by exact path).
├── repositories-aufs                          # repository infomation
└── volumes                                    # Storage for "anonymous" volumes
                                                 (those which are not bind-mounts)

Problem

when I start a fresh docker daemon, the docker directory is as this: ``` /var/lib/docker/ ├── aufs │   ├── diff │   ├── layers │   └── mnt ├── containers ├── graph ├── init │   └── dockerinit-0.7.3 ├── linkgraph.db ├── lxc-start-unconfined -> /usr/bin/lxc-start ├── repositories-aufs └── volumes ``` as the title say, what is the function of every directory in this structure?

Original source