I created a docker image from openjdk:8-jdk-alpine but when I try to execute simple commands I get the following errors:
RUN bash /bin/sh: bash: not found RUN ./gradlew build env: can't execute 'bash': No such file or directory 25 Answers
Alpine docker image doesn't have bash installed by default. You will need to add the following commands to get bash:
RUN apk update && apk add bash If you're using Alpine 3.3+ then you can just do:
RUN apk add --no-cache bash To keep the docker image size small. (Thanks to comment from @sprkysnrky)
4Try using RUN /bin/sh instead of bash.
RUN /bin/sh -c "apk add --no-cache bash" worked for me.
1To Install bash you can do:
RUN apk add --update bash && rm -rf /var/cache/apk/* If you do not want to add extra size to your image, you can use ash or sh that ships with alpine.
If you have the option (for instance if you are just creating the script), using an alpine image with bash installed such as alpine-bash might be clever.