J'ai créé une image docker depuis openjdk: 8-jdk-alpine mais lorsque j'essaie d'exécuter des commandes simples, j'obtiens les erreurs suivantes:
RUN bash
/bin/sh: bash: not found
RUN ./gradlew build
env: can't execute 'bash': No such file or directory
bash
docker
dockerfile
alpine
diugalde
la source
la source
docker run --rm -i -t alpine /bin/sh
Réponses:
L'image de docker Alpine n'a pas bash installé par défaut. Vous devrez ajouter les commandes suivantes pour obtenir
bash
:Si vous utilisez,
Alpine 3.3+
vous pouvez simplement fairepour conserver une taille d'image Docker petite. (Merci au commentaire de @sprkysnrky)
la source
apk upgrade
n'est pas obligatoire.RUN /bin/sh
au lieu deRUN bin/bash
bash
fonctionnalités spécifiques.Essayez d'utiliser
RUN /bin/sh
au lieu de bash.la source
bash
package ajoute environ 4 Mo à la taille dealpine:3.8
, le doublant à peu près, mais toujours loin de 50 Mo.travaillé pour moi.
la source
RUN apk add --no-cache bash
directementPour installer bash, vous pouvez faire:
Si vous ne souhaitez pas ajouter de taille supplémentaire à votre image, vous pouvez utiliser
ash
oush
qui est livré avec alpine.Référence: https://github.com/smebberson/docker-alpine/issues/43
la source