web-dev-qa-db-fra.com

Comment utiliser bash avec une image de docker basée sur Alpine?

J'ai créé une image de menu fixe à partir d'Openjdk: 8-jdk-Alpine, mais lorsque j'essaie d'exécuter des commandes simples, les erreurs suivantes sont générées:

RUN bash
/bin/sh: bash: not found

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

Par défaut, bash n’est pas installé dans l’image Alpine docker. Vous devrez ajouter les commandes suivantes pour obtenir bash:

RUN apk update && apk add bash

Si vous utilisez Alpine 3.3+ alors vous pouvez simplement faire

RUN apk add --no-cache bash

pour que la taille de l'image du menu fixe soit petite. (Merci au commentaire de @sprkysnrky)

212
anubhava

Essayez d’utiliser RUN /bin/sh au lieu de bash.

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

a travaillé pour moi.

14
user1738546