¿Cómo utilizar bash con una imagen docker basada en Alpine?

He creado una imagen docker de openjdk:8-jdk-alpine pero cuando intento ejecutar comandos simples me salen los siguientes errores:

RUN bash
/bin/sh: bash: not found

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

La imagen docker Alpine no tiene instalado bash por defecto. Usted tendrá que añadir los siguientes comandos para obtener bash:

RUN apk update && apk add bash

Si estás usando Alpine 3.3+ entonces puedes simplemente hacer

RUN apk add --no-cache bash

para mantener el tamaño de la imagen docker pequeño (gracias al comentario de @sprkysnrky)

Comentarios (1)

Intenta usar RUN /bin/sh en lugar de bash.

Comentarios (8)
RUN /bin/sh -c "apk add --no-cache bash"

me ha funcionado.

Comentarios (0)