每天5分鐘玩轉容器技術(1)

2022-02-17 08:30:19 字數 2543 閱讀 8888

每天5分鐘玩轉容器技術》是乙個有關容器技術的教程,有下面兩個特點:

系統講解當前最流行的容器技術。

從容器的整個生態環境到各個具體的技術,從整體到細節逐一討論。

重實踐並兼顧理論。

從實際操作的角度帶領大家學習容器技術。

簡單回答是:容器技術非常熱門,但門檻高

容器技術是繼大資料和雲計算之後又一炙手可熱的技術,而且未來相當一段時間內都會非常流行。

對 it 行業來說,這是一項非常有價值的技術。而對 it 從業者來說,掌握容器技術是市場的需要,也是提公升自我價值的重要途徑。

拿我自己的工作經歷來說,畢業後的頭幾年是做 j2ee 應用開發。後來到一家大型it公司,公司的產品從中介軟體到作業系統,從伺服器到儲存,從虛擬化到雲計算都有涉及。

我所在的部門是專門做 it 基礎設施實施服務的,最開始是做傳統的 it 專案,包括伺服器配置,雙機 ha 等。隨著虛擬化技術成熟,工作上也開始涉及各種虛擬化技術的規劃和實施,包括 vmware,kvm,powervm等。後來雲計算興起,在公司業務和個人興趣的驅動下,開始學習和實踐 openstack,在這個過程中寫了《每天5分鐘玩轉openstack》教程並得到大家的認可。

現在以 docker 為代表的容器技術來了,而且關注度越來越高,這一點可以從 google trend 中 docker 的搜尋上公升趨勢(藍色曲線)中清楚看到。

每一輪新技術的興起,無論對公司還是個人既是機會也是挑戰。

我個人的看法是:如果某項新技術未來將成為主流,就應該及早盡快掌握。 因為:

新技術意味著新的市場和新的需求。

初期掌握這種技術的人不會很多,而市場需求會越來越大,因而會形成供不應求的賣方市場,物以稀為貴,這對技術人員將是乙個難得的價值提公升機會。

學習新技術需要時間和精力,早起步早成材。

機會講過了,咱們再來看看挑戰。

新技術往往意味著技術上的突破和創新,會有不少新的概念和方法。

而且從大資料,雲計算和容器技術來看,這些新技術都是平台級別,覆蓋的技術範圍非常廣,包括了計算、網路、儲存、高可用、監控、安全等多個方面,要掌握這些新技術對 it 老兵尚有不小難道,更別說新人了。

由於對技術一直保持著很高的熱誠和執著,在掌握了 openstack 相關 iaas 技術後,我便開始調研 paas 技術棧。正好這時 docker 也越來越流行,自然而然便開始了容器相關技術的學習研究和實踐。

學習容器技術的過程可以說是驚喜不斷,經常驚嘆於容器理念的先進和容器生態環境的完整和強大。很多傳統軟體開發和運維中的難題在容器世界裡都能輕鬆解決,也漸漸理解了容器為何如此受到青睞。

不誇張的說,容器為我開啟了一扇通往另乙個軟體世界的大門,讓我沉浸其中,激動不已。高興之餘,我也迫不及待地想把我所看到所學到和所想到的有關容器的知識介紹給更多的人,讓更多的 it 工程師能夠從容器技術中受益。

我希望這個教程也能為大家開啟這扇門,降低學習的曲線,系統地學習和掌握容器技術。寫給誰看?

這套教程的目標讀者包括:

相信微服務架構(microservice architectur)會逐漸成為開發應用系統的主流。而容器則是這種架構的基石。市場將需要更多能夠開發出基於容器的應用程式的軟體開發人員。

容器為應用提供了更好的打包和部署方式。越來越多的應用將以容器的方式在開發、測試和生產環境中執行。掌握容器相關技術將成為實施和運維工程師的核心競爭力。

我堅信最好的學習方法是分享。編寫這個教程同時也是對自己學習和實踐容器技術的總結。對於知識,只有把它寫出來並能夠讓其他人理解,才能說明真正掌握了這項知識。

如下圖,三大塊:

下面分別介紹各部分包含的內容。

「啟程」會介紹容器的生態系統,讓大家先從整體上了解容器都包含那些技術,各種技術之間的相互關係是什麼,然後再來看我們的教程都會涉及生態中的哪些部分。

為了讓大家盡快對容器有個感性認識,我們會搭建實驗環境並執行第乙個容器,為之後的學習熱身。

這是教程的主要內容,包含「容器核心知識」和「容器高階知識」兩部分。

核心知識主要回答有關容器 what, why 和 how 三方面的問題。其中以 how 為重,將展開討論架構、映象、容器、網路和儲存。

高階知識包括將容器真正用於生成所必須的技術,包括多主機管理、跨主機網路、監控、資料管理、日誌管理和安全管理。

容器平台技術在生態環境中佔據著舉足輕重的位置,對於容器是否能夠落地,是否能應用於生產至關重要。我們將詳細討論容器編排引擎、容器管理平台和基於容器的 paas,學習和實踐業界最具代表性的開源產品。

我會繼續採用《每天5分鐘玩轉openstack》的方式,通過大量的實驗由淺入深地**和實踐容器技術,力求達到如下目標:

循序漸進:由易到難,從淺入深,詳細分析容器的各種功能和配置使用方法。

理解架構:從設計原理和架構分析入手,深入**容器的架構和執行機理。

為了降低學習的難度並且考慮到移動端碎片化閱讀的特點,每次推送的內容大家只需要花5分鐘就能看完(注意這裡說的是看完,有時候要完全理解可能需要更多時間),每篇內容包含1-3個知識點,這就是我把教程命名為《每天5分鐘玩轉容器技術》的原因。雖然是碎片化推送,但整個教程是系統、連貫和完整的,只是化整為零了。

好了,今天這5分鐘算是開了個頭,下次我們正式開始玩轉容器技術。

**自 

構建映象 每天5分鐘玩轉容器技術(12)

對於 docker 使用者來說,最好的情況是不需要自己建立映象。幾乎所有常用的資料庫 中介軟體 應用軟體等都有現成的 docker 官方映象或其他人和組織建立的映象,我們只需要稍作配置就可以直接使用。使用現成映象的好處除了省去自己做映象的工作量外,更重要的是可以利用前人的經驗。特別是使用那些官方映象...

構建映象 每天5分鐘玩轉容器技術(12)

對於 docker 使用者來說,最好的情況是不需要自己建立映象。幾乎所有常用的資料庫 中介軟體 應用軟體等都有現成的 docker 官方映象或其他人和組織建立的映象,我們只需要稍作配置就可以直接使用。使用現成映象的好處除了省去自己做映象的工作量外,更重要的是可以利用前人的經驗。特別是使用那些官方映象...

base 映象 每天5分鐘玩轉容器技術(10)

上一節我們介紹了最小的 docker 映象,本節討論 base 映象。base 映象有兩層含義 不依賴其他映象,從 scratch 構建。其他映象可以之為基礎進行擴充套件。所以,能稱作 base 映象的通常都是各種 linux 發行版的 docker 映象,比如 ubuntu,debian,cent...