Skip to main content

Takes the drudgery out of bind-mounting volumes on Docker and Singularity

Project description

bindit

https://img.shields.io/pypi/v/bindit.svg https://img.shields.io/travis/jooh/bindit.svg Documentation Status

Takes the drudgery out of binding volumes on Docker and (soon) Singularity

bindit is a wrapper for container runners that makes it easy to handle file input and output for containerised command-line applications. It works by detecting file paths in the container image arguments, and rebasing these as necessary onto new bind mounts. See docs for full detail, but here is the high-level API:

Usage: bindit [OPTIONS] COMMAND [ARGS]...

  bindit is a wrapper for container runners that makes it easy to handle
  file input and output for containerized command-line applications. It
  works by detecting file paths in the container image arguments, and
  rebasing these as necessary onto new bind mounts.

Options:
  -i, --ignorepath PATH  path(s) on the host to ignore when detecting new bind
                         mounts. Typical         linux binary locations
                         (/usr/bin etc) are included on this list by default.
  -a, --absonly          Only rebase absolute paths.
  -d, --dryrun           Return formatted shell command without invoking
                         container runner
  -l, --loglevel TEXT    Logging level  [default: INFO]
  --help                 Show this message and exit.

Commands:
  docker
Usage: bindit_partial [OPTIONS] SCRIPT_ARG...

  bindit_partial constructs a shell script wrapper for bindit (or your
  container runner directly) that can be used as a command line interface
  for the container. It works a bit like functools.partial in the standard
  library - you can offload some default parameters (e.g. for volume binds
  mounts) to the script in order to obtain a cleaner API for the container.

  For main documentation, see bindit.

Options:
  --output_file TEXT     Output to file instead of standard out
  --shebang TEXT         Shell interpreter directive  [default: #!/bin/bash]
  --vararg_pattern TEXT  vararg pattern (try "$argv" for csh/tcsh)  [default:
                         "$@"]
  --help                 Show this message and exit.   Usage: bindit_partial [OPTIONS] SCRIPT_ARG...

History

0.2.2 (2019-07-26)

  • Patch –version argument for standalone installs.

0.2.1 (2019-07-26)

  • Handle missing docker binary more gracefully to support e.g. dryrun mode on machines without docker installed (and eventually, singularity).

0.2.0 (2019-07-25)

  • New bindit_partial utility for generating command-line wrapper scripts

  • Tests improved, bugs squashed (0.1.0 was easy to break, this release is much more robust

  • Comprehensive documentation with reasonable docstrings

0.1.0 (2019-04-30)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bindit-0.2.2.tar.gz (23.1 kB view hashes)

Uploaded Source

Built Distribution

bindit-0.2.2-py2.py3-none-any.whl (12.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page