Docker鏡像中提取Dockerfile


今天在技術群摸魚,有朋友問個docker的問題,替換配置文件不生效,也沒有原先的Dockerfile,所以就在想,有沒有什么方式可以直接從容器或鏡像生成Dockerfile。

雖然docker history命令可以看到所有歷史層級的操作,但是還是需要手動去寫Dockerfile

google一番,發現dfimage就是這樣一個工具

dfimage是一個alpine的鏡像,啟動的時候,通過將docker.sock映射到容器內部來運行,通常將這個操作做成別名

alias dfimage="docker run -v /var/run/docker.sock:/var/run 
/docker.sock --rm alpine/dfimage"  
 
dfimage -sV=1.36 nginx:latest 

我們拿nginx鏡像試驗下

Docker鏡像中提取DockerfileDocker鏡像中提取Dockerfile

先pull一個nginx鏡像,我這里之前有,就直接用了,接着通過上面提到的命令,別名一個dfimage命令

Docker鏡像中提取DockerfileDocker鏡像中提取Dockerfile

做好別名之后,通過dfimage去生成nginx的Dockerfile,其實就是啟動一個容器工具,執行完之后即刪除

Docker鏡像中提取DockerfileDocker鏡像中提取Dockerfile

Docker鏡像中提取DockerfileDocker鏡像中提取Dockerfile

即可看到完整的Dockerfile

參考:https://hub.docker.com/repository/docker/alpine/dfimage

本文地址:https://www.linuxprobe.com/filter-dockerfile.html

Linux命令大全:https://www.linuxcool.com/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM