Saya membuat gambar buruh pelabuhan dari openjdk: 8-jdk-alpine tetapi ketika saya mencoba menjalankan perintah sederhana saya mendapatkan kesalahan berikut:
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
sumber
sumber
docker run --rm -i -t alpine /bin/sh
Jawaban:
Gambar Alpine docker tidak memiliki bash yang diinstal secara default. Anda perlu menambahkan perintah berikut untuk mendapatkan
bash
:Jika Anda menggunakan
Alpine 3.3+
maka Anda bisa melakukannyauntuk menjaga ukuran gambar buruh pelabuhan kecil. (Terima kasih atas komentar dari @sprkysnrky)
sumber
apk upgrade
diperlukan.RUN /bin/sh
daripadaRUN bin/bash
bash
fitur tertentu.Coba gunakan
RUN /bin/sh
alih-alih bash.sumber
bash
paket menambahkan sekitar 4MB ke ukuranalpine:3.8
, kira-kira dua kali lipat, tetapi masih jauh dari 50MB.bekerja untukku.
sumber
RUN apk add --no-cache bash
langsung menulisUntuk Menginstal bash yang dapat Anda lakukan:
Jika Anda tidak ingin menambahkan ukuran ekstra ke gambar Anda, Anda dapat menggunakan
ash
ataush
yang dikirimkan dengan alpine.Referensi: https://github.com/smebberson/docker-alpine/issues/43
sumber