Изображения Docker в Dockerfiles
Есть некоторые случаи, когда нам нужно создать Dockerfile с использованием образа docker. К счастью, изображения Docker не являются черным ящиком, есть варианты для проверки изображения docker и создания его файла Dockerfile.
Мы можем использовать инструмент под названием “Whaler”, который предназначен для обратного преобразования изображений docker в файл Dockerfile, который его создал. Этот инструмент встроен в образ docker под названием “alpine/dfimage”, так что мы можем использовать инструмент без каких-либо локальных установок.
Этот инструмент генерирует файл Dockerfile из изображения, а также отображает такую информацию, как открытые порты и переменные среды.
$ alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"
$ dfimage -sV=1.36 /image/that_you_need_to_inspect
ex:
$ dfimage -sV=1.36 madeesha/hello:latest
Это дает нам Dockerfile следующим образом,
Однако в приведенном выше файле Dockerfile есть некоторые файлы, скопированные внутри, и нам нужно знать содержимое файла, чтобы успешно создать файл Dockerfile. Мы можем получить содержимое этих файлов, используя приведенную ниже команду,
docker run --rm madeesha/hello cat export1.py
Аргумент “ — rm” удалит контейнер после выполнения команды.
Надеюсь, что эта статья поможет вам воспроизвести файл Dockerfile из образа Docker.
Также вы можете дополнительно ознакомиться данной темой: Учебное пособие по Docker - понимание Dockerfile.