Сьогодні альпійські зображення завантажуватимуться безпосередньо /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