I generally create Docker images using the Alpine base image to keep them compact and minimal. However, Alpine doesn't have bash by default (just sh), and Reflow doesn't seem to support images that don't have bash. For example, the following Reflow file doesn't run (it just hangs infinitely):
val Main = exec(image := "alpine", mem := GiB) (out file) {"
echo hello world >>{{out}}
"}
However, using the niemasd/bash:latest image I created, which uses Alpine as its base image and just installs bash on top of it, the following Reflow file runs fine:
val Main = exec(image := "niemasd/bash:latest", mem := GiB) (out file) {"
echo hello world >>{{out}}
"}
As a workaround, I'll just add bash to my Docker images because it's not too big compared to the other programs I install, but it would be nice to support sh or whatever other shells a given Docker image might have rather than requiring bash specifically
I generally create Docker images using the Alpine base image to keep them compact and minimal. However, Alpine doesn't have
bash
by default (justsh
), and Reflow doesn't seem to support images that don't havebash
. For example, the following Reflow file doesn't run (it just hangs infinitely):However, using the
niemasd/bash:latest
image I created, which uses Alpine as its base image and just installsbash
on top of it, the following Reflow file runs fine:As a workaround, I'll just add
bash
to my Docker images because it's not too big compared to the other programs I install, but it would be nice to supportsh
or whatever other shells a given Docker image might have rather than requiringbash
specifically