Здесь происходят две вещи.
Файл Docker, который запускается FROM scratch
, начинается с базового образа, в котором абсолютно ничего нет.Это абсолютно пусто.Не существует набора базовых инструментов или библиотек или чего-либо еще, кроме пары файлов устройств, которые Docker вводит для вас.
Команда ENTRYPOINT echo ...
переписывается Docker в ENTRYPOINT ["/bin/sh", "-c", "echo ..."]
и вызывает CMD
чтобы быть полностью проигнорированным.Если не переопределено с помощью docker run --entrypoint
, это становится основным процессом, выполняемым контейнером.
Так как это изображение FROM scratch
и абсолютно ничего не содержит, оно не содержит оболочку, следовательно, "/ bin/ sh: нет такого файла или каталога "ошибка.