Как использовать bash с альпийским докером?

Я создал изображение docker из openjdk: 8-jdk-alpine, но когда я пытаюсь выполнить простые команды, я получаю следующие ошибки:

RUN bash
/bin/sh: bash: not found

RUN ./gradlew build
env: can't execute 'bash': No such file or directory

Ответ 1

Изображение Alpine docker по умолчанию не установлено bash. Вам нужно будет добавить следующие команды для получения bash:

RUN apk update && apk add bash

Если вы используете Alpine 3.3+ тогда вы можете просто сделать

RUN apk add --no-cache bash

для уменьшения размера изображения докера. (Спасибо за комментарий от @sprkysnrky)

Ответ 2

Попробуйте использовать RUN/bin/sh вместо bash.

Ответ 3

RUN /bin/sh -c "apk add --no-cache bash"

работал на меня.