Ich habe ein Docker-Image aus openjdk erstellt: 8-jdk-alpine, aber wenn ich versuche, einfache Befehle auszuführen, werden folgende Fehler angezeigt:
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
quelle
quelle
docker run --rm -i -t alpine /bin/sh
Antworten:
In Alpine Docker Image ist Bash standardmäßig nicht installiert. Sie müssen folgende Befehle hinzufügen, um zu erhalten
bash
:Wenn Sie verwenden
Alpine 3.3+
, können Sie einfach tunum die Docker-Bildgröße klein zu halten. (Dank Kommentar von @sprkysnrky)
quelle
apk upgrade
ist nicht erforderlich.RUN /bin/sh
anstelle vonRUN bin/bash
bash
spezielle Funktionen.Versuchen Sie es mit
RUN /bin/sh
anstelle von Bash.quelle
bash
Paket erhöht die Größe um ca. 4 MBalpine:3.8
, verdoppelt sie ungefähr, ist aber immer noch weit von 50 MB entfernt.arbeitete für mich.
quelle
RUN apk add --no-cache bash
direkt schreibenSo installieren Sie bash:
Wenn Sie Ihrem Bild keine zusätzliche Größe hinzufügen möchten , können Sie es verwenden
ash
odersh
es wird mit Alpin geliefert.Referenz: https://github.com/smebberson/docker-alpine/issues/43
quelle