像ubuntu、centos等這些基礎鏡像,應該是docker公司做的。

我們構建鏡像的時候,可以直接from這些基礎鏡像。當然我們也可以from一些其他更高級的鏡像或者自己製作的鏡像。

比如持續集成軟體jeknis,jeknis官方提供了jeknis/jeknis基礎鏡像,我們可以直接拿來使用啟動服務。但是可能我們需要在容器內部調用docker或者k8s命令,那我們就可以通過dockerfile,基於jeknis基礎鏡像,安裝docker客戶端或者k8s客戶端,這樣再使用新的鏡像啟動服務,就可以在容器內部使用docker和k8s命令。


感謝邀請

先說說鏡像是什麼

鏡像(Image)——一個特殊的文件系統

操作系統分為內核和用戶空間。對於 Linux 而言,內核啟動後,會掛載 root 文件系統為其提供用戶空間支持。而Docker 鏡像(Image),就相當於是一個 root 文件系統。

Docker 鏡像是一個特殊的文件系統,除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(如匿名卷、環境變數、用戶等)。 鏡像不包含任何動態數據,其內容在構建之後也不會被改變。

  Docker 設計時,就充分利用 Union FS的技術,將其設計為 分層存儲的架構 。 鏡像實際是由多層文件系統聯合組成。

鏡像構建時,會一層層構建,前一層是後一層的基礎。每一層構建完就不會再發生改變,後一層上的任何改變只發生在自己這一層。 比如,刪除前一層文件的操作,實際不是真的刪除前一層的文件,而是僅在當前層標記為該文件已刪除。在最終容器運行的時候,雖然不會看到這個文件,但是實際上該文件會一直跟隨鏡像。因此,在構建鏡像的時候,需要額外小心,每一層盡量只包含該層需要添加的東西,任何額外的東西應該在該層構建結束前清理掉。

  分層存儲的特徵還使得鏡像的復用、定製變的更為容易。甚至可以用之前構建好的鏡像作為基礎層,然後進一步添加新的層,以定製自己所需的內容,構建新的鏡像。


最原始的鏡像可以自己手動做!參考

http://note.youdao.com/noteshare?id=f9ab591c45a4455ec7323b6497307a8a


就是從鏡像庫下載的。鏡像庫哪來的,當然是開發者基於基本的linux官方庫進創建而來的。


可以自己做吖


推薦閱讀:
相关文章