Это потому, что вы пытаетесь использовать динамически c -компилированный bash
in in docker
без поддержки glibc
.
TL; DR
- . .. либо используйте
bash-static
вместо classi c bash
Вы можете загрузить или запустить ./build.sh
- или добавьте
bash
для alpine
: добавьте эту строку в Dockerfile
: RUN apk add --no-cache bash
Alpine
- это musl
-дистро дистрибутив
Многие docker изображения построены с alpine
в качестве базового изображения: alpine
(обычно) маленький и быстрый:
Вот размеры изображений популярных операционных систем.
источник: Разбивка операционных систем Dockerhub
Разница в размере изображения поразительна: диапазон простирается от BusyBox с 1 МБ до Fedora с 230 МБ. Интересно наблюдать кластеризацию. Alpine и BusyBox имеют небольшой вес и составляют около 0 МБ, тогда как средние весы, такие как Debian и Ubuntu, составляют около 100 МБ, а самые крупные - такие тяжеловесы, как CentOS и Oracle Linux, увеличившись на 200 МБ.
musl
не содержит libtinfo
Подробнее о разнице между glibc
и musl
Функциональные отличия от glib c
PS вы можете запустить bash-static
даже в пустом контейнере из scratch
FROM scratch
ADD bash
ENTRYPOINT ['/bash']
Возможно, вы сейчас можете добавить busybox.