Docker映象中提取Dockerfile

roc_guo發表於2021-06-05
導讀 今天在技術群摸魚,有朋友問個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

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2775467/,如需轉載,請註明出處,否則將追究法律責任。

相關文章