Docker volume plugin for creating persistent volumes as dedicated zfs datasets.
This is a fork of TrilliumIT/docker-zfs-plugin
Assuming you use NixOS
{
imports = [
(import "${builtins.fetchTarball "https://github.com/ZentriaMC/docker-zfs-plugin/archive/master.tar.gz"}/nixos")
];
services.docker-zfs-plugin = {
enable = true;
datasets = [ "dpool" ];
};
}
Or with Nix Flakes:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
docker-zfs-plugin.url = "github:ZentriaMC/docker-zfs-plugin";
docker-zfs-plugin.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, ... }@inputs: {
nixosConfigurations."hostname" = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
inputs.docker-zfs-plugin.nixosModule
];
};
};
}
After the plugin is running, you can interact with it through normal docker volume
commands. Driver name is zfs
You can pass in ZFS attributes from the docker volume create
command:
docker volume create -d zfs -o compression=lz4 -o dedup=on --name=tank/docker-volumes/data