Копирование файлов из образа на хост во время сборки не поддерживается. Этого можно легко добиться во время выполнения с использованием томов. , что ввело поддержку этого вида деятельности.
Вот простой пример, вдохновленный официальной документацией:
Dockerfile
FROM alpine AS stage-a
RUN mkdir -p /opt/temp/
RUN touch /opt/temp/file-created-at-build-time
RUN echo "Content added at build-time" > /opt/temp/file-created-at-build-time
FROM scratch as custom-exporter
COPY --from=stage-a /opt/temp/file-created-at-build-time .
Чтобы это работало, вам нужно запустить команду сборки используя следующие аргументы:
DOCKER_BUILDKIT=1 docker build --output out .
Это создаст на вашем хосте, помимо Dockerfile, каталог out
с нужным вам файлом:
.
├── Dockerfile
└── out
└── file-created-at-build-time
cat out/file-created-at-build-time
Content added at build-time