Saat ini, gambar Alpine akan di-boot langsung ke /bin/sh
default, tanpa harus menentukan shell untuk dieksekusi:
$ sudo docker run -it --rm alpine
/ # echo $0
/bin/sh
Hal ini karena alpine
Dockerfiles gambar sekarang mengandung CMD
perintah, yang menentukan shell untuk mengeksekusi ketika wadah dimulai: CMD ["/bin/sh"]
.
Dalam versi gambar Alpine yang lebih lama (pra-2017), perintah CMD tidak digunakan, karena Docker digunakan untuk membuat lapisan tambahan untuk CMD yang menyebabkan ukuran gambar meningkat. Ini adalah sesuatu yang ingin dihindari oleh pengembang gambar Alpine. Dalam versi Docker baru-baru ini (1,10+), CMD tidak lagi menempati lapisan, dan karena itu ditambahkan ke alpine
gambar. Oleh karena itu, selama CMD tidak diganti, gambar Alpine terbaru akan di-boot /bin/sh
.
Untuk referensi, lihat komitmen berikut untuk Dockerfiles Alpine resmi oleh Glider Labs:
https://github.com/gliderlabs/docker-alpine/commit/ddc19dd95ceb3584ced58be0b8d7e9169d04c7a3#diff-db3dfdee92b17cfc