tomeichlersmith / denv

uniformly interact with containerized environments across runners
https://tomeichlersmith.github.io/denv/
GNU General Public License v3.0
8 stars 2 forks source link

update `denv check` to handle podman emulation of docker #93

Closed tomeichlersmith closed 5 months ago

tomeichlersmith commented 6 months ago

Describe the bug On some clusters, podman is installed in a "emulation" mode such that the program docker is also installed which simply redirects to podman (presumably with some translation layers inserted). This leads to the following output of denv check:

Entrypoint found alongside denv
Looking for docker... Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
found 'podman version 1.6.4' <- would use without DENV_RUNNER defined
Looking for podman... found 'podman version 1.6.4'
Looking for apptainer... found 'apptainer version 1.2.5-1.el7'
Looking for singularity... not found

I think handling this could be an easy case of processing the text returned by docker --version a bit more than I do already. It outputs podman inside it anyways.

Solution Update denv check to output a "emulation via podman" message if this case is found. Maybe do a similar message for singularity symlinks to apptainer?

tomeichlersmith commented 6 months ago

I also think updating denv check to look at DENV_RUNNER and report it can be helpful for users debugging their setup especially on these systems with many runners installed.