Помимо логина, который не должен вызывать их, поскольку вы создаете образ в своей локальной системе, который, как я полагаю, должен существовать в локальной системе, который будет извлекать образ, только если он не существует в локальной системе, настоящая причина в том, что вы создаете образизображение из scratch и в scratch изображении нет двоичных файлов, даже нет bash или sh .
Вторая ошибка:
RUN ./Dockerfile
Ваш Dockerfile - это файл, а не двоичные файлы, в то время как здесь вы пытаетесь выполнить его, используя директиву RUN.
Пока в хранилище Docker на концентраторе появляется царапина, вы не можете его вытянуть, запустите его,или пометить любое изображение с именем царапины. Вместо этого вы можете сослаться на него в своем Dockerfile. Например, чтобы создать минимальный контейнер с использованием нуля:
FROM scratch
COPY hello /
CMD ["/hello"]
Здесь привет может быть исполняемым файлом, например, скомпилированным файлом C ++.
Скретч-изображение Docker
Но я хотел бы сказать «привет» в Docker, чтобы использовать Busybox или Alpine в качестве базового изображения с оболочкойи оба находятся под 5MB .
FROM busybox
CMD ["echo","hello Docker!"]
, теперь строим и запускаем
docker build -t hello-docker .
docker run --rm -it hello-docker