Можно ли извлечь файл Docker из контейнера докеров
Я только начинаю с Docker, и было бы очень полезно увидеть файлы Dockerfiles, используемые для создания существующих изображений докеров.
Даже если изображение было создано путем запуска команд вручную, а затем для привязки к тегу, было бы неплохо увидеть, как было сделано изображение, как для учебных целей, так и для безопасности.
Есть ли способ извлечь файл Docker или список команд, используемых для создания данного изображения докеров?
Ответы
Ответ 1
У вас docker history <image>
, что очень полезно. Его можно даже использовать для создания файла docker, если ни один из шагов не связан с stdin.
Если шаг stdin, единственный способ узнать, что произошло, - это сделать docker logs <container id parent>
, но если у вас нет контейнера, вы не можете.
Ответ 2
Теперь доступно открепление.
Мы можем установить его с помощью команды pip.
pip install git+https://github.com/larsks/undocker/
и используйте
docker save IMAGE_NAME | undocker -i -o IMAGE_NAME
чтобы извлечь файлы из докеров.
https://github.com/larsks/undocker/
Ответ 3
Есть проект dockerfile-from-image, который может помочь вам сделать это напрямую.
Для восстановления файла Docker требуется одна команда CLI:
docker run -v /var/run/docker.sock:/var/run/docker.sock centurylink/dockerfile-from-image <IMAGE_TAG_OR_ID>
Необходимо установить Docker.