containerd/snapshots/devmapper
Maksym Pavlenko 87289a0c62 devmapper: implement Usage
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
2019-03-27 14:50:12 -07:00
..
dmsetup devmapper: implement dmsetup status 2019-03-27 14:26:07 -07:00
losetup devmapper: add linux tags, fix build 2019-02-21 16:26:46 -08:00
config_test.go devmapper: don't create or reload thin-pool from snapshotter 2019-02-21 16:26:46 -08:00
config.go devmapper: don't create or reload thin-pool from snapshotter 2019-02-21 16:26:46 -08:00
device_info.go devmapper: add linux tags, fix build 2019-02-21 16:26:46 -08:00
metadata_test.go devmapper: add linux tags, fix build 2019-02-21 16:26:46 -08:00
metadata.go devmapper: add linux tags, fix build 2019-02-21 16:26:46 -08:00
pool_device_test.go devmapper: implement Usage 2019-03-27 14:50:12 -07:00
pool_device.go devmapper: implement Usage 2019-03-27 14:50:12 -07:00
README.md Update README 2019-02-22 11:10:51 -08:00
snapshotter_test.go devmapper: implement Usage 2019-03-27 14:50:12 -07:00
snapshotter.go devmapper: implement Usage 2019-03-27 14:50:12 -07:00

Devmapper snapshotter

Devmapper is a containerd snapshotter plugin that stores snapshots in ext4-formatted filesystem images in a devicemapper thin pool.

Setup

To make it work you need to prepare thin-pool in advance and update containerd's configuration file. This file is typically located at /etc/containerd/config.toml.

Here's minimal sample entry that can be made in the configuration file:

[plugins]
  ...
  [plugins.devmapper]
    pool_name = "containerd-pool"
    base_image_size = "128MB"
  ...

The following configuration flags are supported:

  • root_path - a directory where the metadata will be available (if empty default location for containerd plugins will be used)
  • pool_name - a name to use for the devicemapper thin pool. Pool name should be the same as in /dev/mapper/ directory
  • base_image_size - defines how much space to allocate when creating the base device

Pool name and base image size are required snapshotter parameters.

Run

Give it a try with the following commands:

ctr images pull --snapshotter devmapper docker.io/library/hello-world:latest
ctr run --snapshotter devmapper docker.io/library/hello-world:latest test

Requirements

The devicemapper snapshotter requires dmsetup (>= 1.02.110) command line tool to be installed and available on your computer. On Ubuntu, it can be installed with apt-get install dmsetup command.