Oracle開源三個容器工具
Smith——安全微容器構建者
傳統的容器構建過程需要一系列的復雜操作步驟。Smith就是一個解決構建一致性和安全性的問題的微容器構建工具。可方便的通過rpms、yum庫,甚至已有容器來構建微容器。更多構建微容器的信息可參考資料:the Microcontainer Manifesto。
Crashcart——微容器調試工具
若生產環境應用容器的精簡配置,導致的診斷工具缺失,對運維來說是一個巨大挑戰。雖然大部分診斷可在主節點上完成,但有時也需要在容器節點可訪問的文件系統上進行診斷。Crashcart便是應用在這個場景下,它為正在運行的容器加載一組數據用來定位故障原因。了解crashcart是如何定位單邊加載數據故障的原理可參考資料:Hardcore Container Debugging。
Railcar——可選的容器Runtime
Go語言對于容器runtime不一定是***選擇。(注:runtime是通過命名空間和cgroups完成隔離的組件。Go語言對于容器鏡像和CLIS仍然是一個非常明智的選擇。)為便于理解,可閱讀博客: Linux Namespaces And Go Don’t Mix。 Runc(runc是oci runtime的默認組件)的部分代碼是由C語言編寫,在Go運行時態啟動之前調用的。Go雖然是一個偉大的語言,但對于僅需輕量線程控制及大量系統調用的小型組件而言,還有更好的選擇。Rust語言則可以提供類似C語言的輕量控制,但是內存安全且避免了類的BUG和漏洞。更多Railcar的開發信息可參考資料:Building a Container Runtime in Rust。