Это может быть обработано BuildKit:
# syntax=docker/dockerfile:experimental
FROM ...
RUN --mount=type=bind,target=/my_script,source=my_script,rw \
bash -c "/my_script"
Затем вы должны построить:
DOCKER_BUILDKIT=1 docker build -t my_image .
Это также звучит так, как будто вы пытаетесь ввести секреты в сборку, например, вытащить из частного репозитория git. BuildKit также позволяет указать:
# syntax=docker/dockerfile:experimental
FROM ...
RUN --mount=type=secret,target=/creds,id=cred \
bash -c "/my_script -i /creds"
Затем вы должны построить с:
DOCKER_BUILDKIT=1 docker build -t my_image --secret id=creds,src=./creds .
При использовании обоих параметров BuildKit команда mount фактически никогда не добавляет файл в образ. Он делает файл доступным только в качестве привязки при этом единственном шаге RUN. Пока этот шаг RUN не выводит секрет в другой файл на вашем изображении, секрет никогда не вводится в изображение.
Подробнее об экспериментальном синтаксисе BuildKit см. https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/experimental.md