mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
374a5e9913
This is a module that uses the device-mapper create CoW snapshots You instantiate a DeviceSetDM object on a specified root (/var/lib/docker), and it will create a subdirectory there called "loopback". It will contain two sparse files which are loopback mounted into a thin-pool device-mapper device called "docker-pool". We then create a base snapshot in the pool with an empty filesystem which can be used as a base for docker snapshots. It also keeps track of the mapping between docker image ids and the snapshots in the pool. Typical use of is something like (without error checking): devices = NewDeviceSetDM("/var/lib/docker") devices.AddDevice(imageId, "") // "" is the base image id devices.MountDevice(imageId, "/mnt/image") ... extract base image to /mnt/image devices.AddDevice(containerId, imageId) devices.MountDevice(containerId, "/mnt/container") ... start container at /mnt/container |
||
---|---|---|
.. | ||
deviceset_devmapper.go | ||
devmapper.go |