Могу ли я получить доступ к файлу в промежуточном слое образа докера? - PullRequest
0 голосов
/ 29 октября 2019

У меня есть Dockerfile, как показано ниже. Я добавляю несколько файлов для сборки приложения, затем удаляю их. Я помещаю это в репозиторий Amazon ECR. Может ли кто-нибудь получить доступ к удаленным файлам в промежуточном слое?

FROM X
...
ADD Y Z
...
RUN rm Z
...

1 Ответ

0 голосов
/ 29 октября 2019

Да

Хороший вопрос, я проверял, используя:

Dockerfile:

FROM alpine:latest
ADD secretfile.txt ./secretfile.txt
RUN rm ./secretfile.txt

Промежуточный контейнер назван ded0652b1b4b

Step 2/3 : ADD secretfile.txt ./secretfile.txt
---> Using cache
---> ded0652b1b4b

Выполнение docker inspect ded0652b1b4b показывает (частичный вывод):

 "Id": "sha256:a3f069abb5b5d712ec2977e185667e67083360fad3b82fbf2994cb25f137fcb3",
 "Cmd": [
   "/bin/sh",
   "-c",
   "#(nop) ADD file:5d17740f2cfb728d9d94605430e551fddc46fda9f68caa9a3b51eabb126db393 in ./secretfile.txt " ]

Затем построение контейнера в интерактивном режиме с использованием этого идентификатора изображения:

docker run it "a3f069abb5b5d712ec2977e185667e67083360fad3b82fbf2994cb25f137fcb3"
ls
...           run             secretfile.txt  sys             usr

Вы можете увидеть secretfile.txt isнайдено на изображении. (И, конечно, он не найден в контейнере, созданном из полного изображения из файла Docker)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...