471 votes

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
 

722voto

anubhava Points 172509

L’image Alpine docker n’a pas installé Bash par défaut. 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)

464voto

Yuva Points 1438

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

32voto

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

a travaillé pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X