Сьогодні альпійські зображення завантажуватимуться безпосередньо /bin/shза замовчуванням, без необхідності вказувати оболонку для виконання:
$ sudo docker run -it --rm alpine
/ # echo $0
/bin/sh
Це , так як alpineзображення Dockerfiles тепер містить в CMDкоманді, що визначає оболонку для виконання при запуску контейнера: CMD ["/bin/sh"].
У старих версіях для альпійських зображень (до 2017 року) команда CMD не використовувалася, оскільки Docker використовував для створення додаткового шару для CMD, який спричинив збільшення розміру зображення. Це те, чого розробники альпійських зображень хотіли уникнути. В останніх версіях Docker (1.10+) CMD більше не займає шар, і тому його додавали до alpineзображень. Тому, поки CMD не буде відмінено, останні алпійські зображення завантажуватимуться /bin/sh.
Для ознайомлення дивіться наступне зобов’язання до офіційних альпійських докерфілів від Glider Labs:
https://github.com/gliderlabs/docker-alpine/commit/ddc19dd95ceb3584ced58be0b8d7e9169d04c7a3#diff-db3dfdee92c17cf53a9655780049