Wrapper around repo2docker producing charliecloud compatible tarballs
repo2docker takes a repository
as input, and applies some heuristics to build a docker image that
runs from it. It doesn't require a Dockerfile
- instead it looks
for language standard files (such as requirements.txt
, environment.yml
,
REQUIRE
, etc) and automatically sets up appropriate environment
for it. It has built in support for Python, R, Julia, NixOS, etc.
The popular mybinder.org services uses repo2docker to build images and launch them interactively for users. Click the link below to try out a sample
Charliecloud is a lightweight container runtime targeted at HPC systems. It is an open source project from the Los Alamos National Lab>
It's a wrapper around repo2docker that produces tarballs that can be run by charliecloud.
Building images still requires docker, so you'd do it on your laptop.
Running the image doesn't require docker, and has very minimal dependencies.
You can install repo2charliecloud with:
pip install repo2charliecloud
This will automatically install charliecloud with the charliecloud-bin project.
Once installed, it can be invoked with
repo2charliecloud <git-url> --ref <optional-ref>
<git-url>
is the required parameter, and should point to
a cloneable git repository. Local directories are also supported,
and we can support non-git local directories.
--ref
points to an optional git ref to build. It defaults to
master
but you can specify a branch, tag or commit hash for
better reproducibility.
Running this will output a .tar.gz
file in the current directory.
You can then transfer, unpack and run the image as you would any other image with charliecloud.
Lots, but first this needs a few more Weird Al references.