如何從 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 鏡像試驗下
先 pull 一個 nginx 鏡像,我這裏之前有,就直接用了,接着通過上面提到的命令,別名一個 dfimage 命令
做好別名之後,通過 dfimage 去生成 nginx 的 Dockerfile,其實就是啓動一個容器工具,執行完之後即刪除
即可看到完整的 Dockerfile
參考:https://hub.docker.com/repository/docker/alpine/dfimage
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/_k0QlRodxe8XYXiH19qZlA