Biasanya, image Alpine Linux tidak mengandung bash , Sebagai gantinya, Anda dapat menggunakan /bin/ash , /bin/sh , ash atau hanya sh .
/bin/ash
docker run -it --rm alpine /bin/ash
/bin/sh
docker run -it --rm alpine /bin/sh
abu
docker run -it --rm alpine ash
dia
docker run -it --rm alpine sh
Saya harap informasi ini membantu Anda.
[email protected]:~$ docker run -it --rm alpine /bin/ash
(inside container) / #
Opsi yang digunakan di atas:
/bin/ashadalah Ash (Almquist Shell) yang disediakan oleh BusyBox--rmHapus penampung secara otomatis saat keluar (docker run --help)-iMode interaktif (Tetap buka STDIN meskipun tidak terpasang)-tAlokasikan pseudo-TTY
Saat ini, gambar Alpine akan melakukan boot langsung ke /bin/sh secara default, tanpa harus menentukan shell untuk mengeksekusi:
$ sudo docker run -it --rm alpine
/ # echo $0
/bin/sh
Ini sejak alpine image Dockerfiles sekarang berisi CMD perintah, yang menentukan shell yang akan dieksekusi saat container dijalankan:CMD ["/bin/sh"] .
Dalam versi gambar Alpine yang lebih lama (sebelum 2017), perintah CMD tidak digunakan, karena Docker digunakan untuk membuat lapisan tambahan untuk CMD yang menyebabkan ukuran gambar bertambah. Ini adalah sesuatu yang ingin dihindari oleh pengembang gambar Alpine. Dalam versi Docker terbaru (1.10+), CMD tidak lagi menempati lapisan, sehingga ditambahkan ke alpine gambar-gambar. Oleh karena itu, selama CMD tidak diganti, image Alpine terbaru akan melakukan booting ke /bin/sh .
Untuk referensi, lihat komit berikut ke Alpine Dockerfiles resmi oleh Glider Labs:
https://github.com/gliderlabs/docker-alpine/commit/ddc19dd95ceb3584ced58be0b8d7e9169d04c7a3#diff-db3dfdee92c17cf53a96578d4900cb5b