如何從Docker鏡像中提取Dockerfile?
哈嘍哈嘍大家好,小編今天又有新發(fā)現(xiàn)!
今天在技術(shù)群摸魚,有朋友問個(gè)docker的問題,替換配置文件不生效,也沒有原先的Dockerfile,所以就在想,有沒有什么方式可以直接從容器或鏡像生成Dockerfile
雖然docker history命令可以看到所有歷史層級(jí)的操作,但是還是需要手動(dòng)去寫Dockerfile
google一番,發(fā)現(xiàn)dfimage就是這樣一個(gè)工具
dfimage是一個(gè)alpine的鏡像,啟動(dòng)的時(shí)候,通過將docker.sock映射到容器內(nèi)部來(lái)運(yùn)行,通常將這個(gè)操作做成別名
- alias dfimage="docker run -v /var/run/docker.sock:/var/run
- /docker.sock --rm alpine/dfimage"
- dfimage -sV=1.36 nginx:latest
我們拿nginx鏡像試驗(yàn)下
先pull一個(gè)nginx鏡像,我這里之前有,就直接用了,接著通過上面提到的命令,別名一個(gè)dfimage命令
做好別名之后,通過dfimage去生成nginx的Dockerfile,其實(shí)就是啟動(dòng)一個(gè)容器工具,執(zhí)行完之后即刪除
即可看到完整的Dockerfile
參考:https://hub.docker.com/repository/docker/alpine/dfimage
本文轉(zhuǎn)載自微信公眾號(hào)「運(yùn)維研習(xí)社」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系運(yùn)維研習(xí)社公眾號(hào)。