Fix Bash Error in Docker
I really enjoy working with Docker because it gives me more insight into creating and maintaining your own environments, mostly from scratch. I instantly gained a greater appreciation for Ops engineers, package creators, and other engineers who work on low level software. I think what I'm trying to say is that I've made a whole bunch of mistakes and completed an insane amount of Google searches for help.
One of the more basic errors I've recently encountered was trying to run a bash script within the container, only to get the following error: env: can't execute 'bash': No such file or directory
. I was under the impression that bash was always a given in Linux machines, but apparently not in alpine
images. The fix was adding the following to my Dockerfile
file:
RUN apk update && apk add bash
Or if you're in the machine, just run:
apk update && apk add bash
That command installs bash and your bash scripts should then work!
Alternatively, you can use
ash
instead of bash.Not sure what the differences are, but I would expect parity on most standard features.
If the script is simple you can use the default /bin/sh shell.