Bulker builds drop-in replacements to command line-tools that act just like native tools, but run in containers. If you
load pandoc with bulker, you'll invoke it in a shell by typing just
pandoc. Bulker wraps the container details like "docker run -it --volume ...", so native workflows become immediately containerized. You'll be using containers without knowing it.
Bulker lets you run your multi-tool workflows in individual containers. This way you don't have to create a huge container with all your tools, you can use smaller, modular containers that contain only one tool each. You can re-use containers across workflows.
Bulker implements a distribution system that saves and shares entire environments. But unlike existing container engines, the atomic unit for bulker is not an individual container, but a collection of modular containerized executables. Install a whole set of tools with one command:
bulker load namespace/toolset. This simplifies distributing and creating multi-tool computing environments, without creating a single bloated image.
Bulker is a layer on top of any container system (e.g. docker or singularity). Differences are handled by bulker, so the user interface is uniform, regardless of host. Think of bulker as a lightweight wrapper to simplify sharing and using modular multi-container compute environments.