Dockerized is like npx for unix tools: Run popular cli tools without installation.<p>Example:<p><pre><code> dockerized npm init
dockerized python2 somescript.py
</code></pre>
Run an older version of a tool:<p><pre><code> NODE_VERSION=15.0 dockerized node
</code></pre>
Use cases:<p>- Maintaining multiple versions of an app<p>- Installing without polluting host machine<p>- Quickly run some commands you may not have installed<p>Features:<p>- intuitive use. Just the original command, but with 'dockerized' in front.<p>- dockerized apps can access the current directory and read/modify files, just like native apps.<p>- no need to know which docker image this package comes from.<p>- support for tools which don't have an official docker image.<p>- container cleaned up after use.<p>- ability to specify the version.<p>- version specification per directory (share exact versions with your team mates).<p>The inner workings are pretty simple, it's just a docker-compose file.<p>As expected with dockerization, there are limitations related to networking, and file persistence (outside current dir), but it can make life easy for simple scenarios.<p>Pull requests welcome!
Check out whalebrew for a similar idea but a bit more featureful like a registry of images and search, extensibility, etc: <a href="https://github.com/whalebrew/whalebrew" rel="nofollow">https://github.com/whalebrew/whalebrew</a><p>EnvCLI is another one that's been on my list to check out. It looks quite nice too: <a href="https://github.com/EnvCLI/EnvCLI" rel="nofollow">https://github.com/EnvCLI/EnvCLI</a>
I use NIX for this<p><pre><code> nix-shell -p go_1_17
</code></pre>
Pops a native shell on my system with Go installed. Nothing else on my system is affected.
Comma lets you run all Nix packages (more than 80000) quickly "without installation". It is basically a wrapper around `nix run` though. Honestly, `nix run` and `nix shell` help you become adventurous removing your fear of breaking things.<p><a href="https://github.com/nix-community/comma" rel="nofollow">https://github.com/nix-community/comma</a>
The AWS CLI, at least, promotes their official Docker image with instructions in the docs.<p><a href="https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-docker.html" rel="nofollow">https://docs.aws.amazon.com/cli/latest/userguide/install-cli...</a>
Reminds me a bit of what 0install was trying to accomplish [1]<p>[1]: <a href="https://docs.0install.net/basics/first-launch/" rel="nofollow">https://docs.0install.net/basics/first-launch/</a>
This is just a wrapper script that does something similar to `docker run -v $(pwd):$(pwd)`. I mean, I could create a script that simply adds a bash alias to another program like `alias ls="ls -la"`, but is it really that useful to announce it and act like it is unique, compared to something like toolbox or bubblewrap or firejail?