A node:alpine based container with precompiled nodegit
docker pull bitmeal/nodegit:alpineview @ Docker HUB 🚢
How does it work?
- nodegit is installed globally in
/usr/local/lib/node_modules - the
npmbinary is masked from/opt/linker/bin/npmandnpmcalls are intercepted and evaluated - the global nodegit version is linked (
npm link nodegit), if a dependency on nodegit is detected (frompackage.jsonor directly)
Visit docker hub page for configuration options!
⚡ when debugging, remember that
npmis masked and calls are intercepted⚡ to install (read: fetch as dependency) nodegit manually, call
npm link nodegit⚡ to call
npmdirectly, use/usr/local/bin/npm⚠ don't try to use this container to add a nodegit dependency to a project that did not depend on it beforehand! running
npm install nodegitwill not add it to yourpackage.json!
Because nodegit is nice for automation!
Because nodegit in a container is pain!
Because nodegit want's to be installed from source.
Builds images for the latest N node.js versions and latest M nodegit versions (visit docker hub to find N and M). lts-alpine and alpine are referenced directly as base image, to avoid mismatches between official node images and these nodegit images.
Tags follow the official node image convention, introducing an additional leading versioning component. Images may be referenced as shown below.
alpine, as current-alpine is built against latest nodegit version only! To use a specific version of nodegit, you have to use a specific version of node.js as well. Omitting a version specification for nodegit will get you latest.
No versioning of alpine versions! Nodejs and nodegit versioning only.
[<nodegit-version>-][<node-version>-]alpine
alpine,current-alpine,latest-current-alpine: latest nodegit version, based onalpine/current-alpinelts-alpine,latest-lts-alpine: latest nodegit version, based onlts-alpine<nodegit-version>-lts-alpine: specified nodegit version, based onlts-alpine<name>-alpine,<major-version>-alpine: latest nodegit version, based on respective node image (e.g.14-alpine/fermium-alpine)<nodegit-version>-<name>-alpine,<nodegit-version>-<major-version>-alpine: specified nodegit version, based on respective node image- ⚡ No explicit
latesttag!node:latestrefers to a debian based image and breaks the naming convention
linux/amd64linux/arm64