2015年4月11日 星期六

docker - 從 container 產生 dockerfile 行不行


最近剛摸 docker ,在學習的時後,就一直有一個問題困擾我。
那就是 docker 可以用 dockerfile 產生 image 也是可以用來作版本控管或分享的一個方式。但是我們在 run 一個 container 時,可能會為了創建環境,而在裡面安了很多 package ,而且應該都是缺什麼裝什麼,一個一個手動裝的。所以等環境建立完,可能自已也忘了裝了什麼 package。 這個時後又想要用 dockerfile 來控管版本或分享給別人,怎麼辨呢?
剛好在 "Docker —— 從入門到實踐" 中看到 "從映像檔產生 Dockerfile" 的說明,覺得應該有機會,因此我從了下面的嘗試。

1. 從在 container 中裝一些 package ex. vim
2. 透過 docker commit 將其 container commit 到某版 image.
3. 透過 command 將 dockerfile 導出。
docker run -v /var/run/docker.sock:/var/run/docker.sock \ centurylink/dockerfile-from-image <IMAGE_TAG_OR_ID> > Dockerfile.txt
4. 只看出導出之 dockerfile 只有一行
FROM ubuntu:vivid

所以,看來目前還是不行的 ....

沒有留言:

張貼留言