你知道怎麼建立 Docker Image 嗎?
不知各位平常在開發時是否有特別留意到 master branch 上的 Dockerfile 呢?(ISVD2 特有的)
或許有,或許沒有…但 Docker Image 的建立就藏在那看似不起眼的檔案中。
但各位可知道,其實建立 Docker Image 的方式有另一方式種呢?
再幫各位複習 一下,Docker Image 其實是有很多層
Layer
的,而透過 docker run 建立了 container 後,會多一層
可讀寫
的 layer。
這個時候如果你針對那個可讀寫的 layer 增加了或減少了內容,都會被記錄在某些 metadata 檔案中,而如果你想把這些異動的結果再變成 image 交給別人的話,這時候可以透過一個叫作 docker commit 的指令將 異動的內容 變成一個新的 Docker Image,有機會各位可以試試…
範例如下圖:
用 commit 出的 image foobar/ubuntu,在 docker run 的時候內部就有含之前建立的 foo 與 bar 資料夾了。
至於 Dockerfile 嘛 … 明天再說。