容器技術入門【與云原生的故事】

      網友投稿 681 2025-03-31

      1、什么是容器?


      容器是一種基礎工具;泛指任何可以用于容納其它物品的工具,可以部分或完全封閉,被用于容納、儲存、運輸物品;物體可以被放置在容器中,而容器則可以保護內容物;人類使用容器的歷史至少有十萬年,甚至可能有數百萬年的歷史。

      2、容器技術的特點

      容器的特點其實我們拿跟它跟硬件抽象層虛擬化hypervisor技術對比就清楚了,我們之前也提到過,傳統(tǒng)的虛擬化(虛擬機)技術,創(chuàng)建環(huán)境和部署應用都很麻煩,而且應用的移植性也很繁瑣,比如你要把vmware里的虛擬機遷移到KVM里就很繁瑣(需要做鏡像格式的轉換)。那么有了容器技術就簡單了,總結下容器技術主要有四個特點:

      極其輕量:只打包了必要的Bin/Lib;

      秒級部署:根據鏡像的不同,容器的部署大概在毫秒與秒之間(比虛擬機強很多);

      易于移植:一次構建,隨處部署;

      彈性伸縮:Kubernetes、Swam、Mesos這類開源、方便、好使的容器管理平臺有著非常強大的彈性管理能力。

      3、容器的標準化

      當前,docker幾乎是容器的代名詞,很多人以為docker就是容器。其實,這是錯誤的認識,除了docker 還有coreos。所以,容器世界里并不是只有docker一家。既然不是一家就很容易出現分歧。任何技術出現都需要一個標準來規(guī)范它,不然各搞各的很容易導致技術實現的碎片化,出現大量的沖突和冗余。因此,在2015年,由Google,Docker、CoreOS、IBM、微軟、紅帽等廠商聯合發(fā)起的OCI(Open Container Initiative)組織成立了,并于2016年4月推出了第一個開放容器標準。標準主要包括runtime運行時標準和image鏡像標準。標準的推出,有助于替成長中市場帶來穩(wěn)定性,讓企業(yè)能放心采用容器技術,用戶在打包、部署應用程序后,可以自由選擇不同的容器Runtime;同時,鏡像打包、建立、認證、部署、命名也都能按照統(tǒng)一的規(guī)范來做。

      兩種標準主要包含以下內容:

      容器運行時標準 (runtime spec)

      a). creating:使用 create 命令創(chuàng)建容器,這個過程稱為創(chuàng)建中

      b). created:容器創(chuàng)建出來,但是還沒有運行,表示鏡像和配置沒有錯誤,容器能夠運行在當前平臺

      c). running:容器的運行狀態(tài),里面的進程處于 up 狀態(tài),正在執(zhí)行用戶設定的任務

      d). stopped:容器運行完成,或者運行出錯,或者 stop 命令之后,容器處于暫停狀態(tài)。這個狀態(tài),容器還有很多信息保存在平臺中,并沒有完全被刪除

      容器鏡像標準(image spec)

      a). 文件系統(tǒng):以 layer 保存的文件系統(tǒng),每個 layer 保存了和上層之間變化的部分,layer 應該保存哪些文件,怎么表示增加、修改和刪除的文件等; b). config 文件:保存了文件系統(tǒng)的層級信息(每個層級的 hash 值,以及歷史信息),以及容器運行時需要的一些信息(比如環(huán)境變量、工作目錄、命令參數、mount 列表),指定了鏡像在某個特定平臺和系統(tǒng)的配置。比較接近我們使用 docker inspect 看到的內容; c). manifest 文件:鏡像的 config 文件索引,有哪些 layer,額外的 annotation 信息,manifest 文件中保存了很多和當前平臺有關的信息; d). index 文件:可選的文件,指向不同平臺的 manifest 文件,這個文件能保證一個鏡像可以跨平臺使用,每個平臺擁有不同的 manifest 文件,使用 index 作為索引。

      4、容器的主要應用場景

      容器技術的誕生其實主要解決了PAAS的層的技術實現。像OpenStack、Cloudstack這樣的技術是解決IAAS層的問題。IAAS層和PAAS層大家估計也聽得很多了,關于他們的區(qū)別和特性我這里不在描述。那么容器技術主要應用在哪些場景呢?目前主流的有以下幾種:

      1、容器化傳統(tǒng)應用 容器不僅能提高現有應用的安全性和可移植性,還能節(jié)約成本。

      每個企業(yè)的環(huán)境中都有一套較舊的應用來服務于客戶或自動執(zhí)行業(yè)務流程。即使是大規(guī)模的單體應用,通過容器隔離的增強安全性、以及可移植性特點,也能從 Docker 中獲益,從而降低成本。一旦容器化之后,這些應用可以擴展額外的服務或者轉變到微服務架構之上。

      2、持續(xù)集成和持續(xù)部署 (CI/CD) 通過 Docker 加速應用管道自動化和應用部署,交付速度提高至少 13 倍。

      現代化開發(fā)流程快速、持續(xù)且具備自動執(zhí)行能力,最終目標是開發(fā)出更加可靠的軟件。通過持續(xù)集成 (CI) 和持續(xù)部署 (CD),每次開發(fā)人員簽入代碼并順利測試之后,IT 團隊都能夠集成新代碼。作為開發(fā)運維方法的基礎,CI/CD 創(chuàng)造了一種實時反饋回路機制,持續(xù)地傳輸小型迭代更改,從而加速更改,提高質量。CI 環(huán)境通常是完全自動化的,通過 git 推送命令觸發(fā)測試,測試成功時自動構建新鏡像,然后推送到 Docker 鏡像庫。通過后續(xù)的自動化和腳本,可以將新鏡像的容器部署到預演環(huán)境,從而進行進一步測試。

      容器技術入門【與云原生的故事】

      3、微服務 加速應用架構現代化進程。

      應用架構正在從采用瀑布模型開發(fā)法的單體代碼庫轉變?yōu)楠毩㈤_發(fā)和部署的松耦合服務。成千上萬個這樣的服務相互連接就形成了應用。Docker 允許開發(fā)人員選擇最適合于每種服務的工具或技術棧,隔離服務以消除任何潛在的沖突,從而避免“地獄式的矩陣依賴”。這些容器可以獨立于應用的其他服務組件,輕松地共享、部署、更新和瞬間擴展。Docker 的端到端安全功能讓團隊能夠構建和運行最低權限的微服務模型,服務所需的資源(其他應用、涉密信息、計算資源等)會適時被創(chuàng)建并被訪問。

      4、IT 基礎設施優(yōu)化 充分利用基礎設施,節(jié)省資金。

      Docker 和容器有助于優(yōu)化 IT 基礎設施的利用率和成本。優(yōu)化不僅僅是指削減成本,還能確保在適當的時間有效地使用適當的資源。容器是一種輕量級的打包和隔離應用工作負載的方法,所以 Docker 允許在同一物理或虛擬服務器上毫不沖突地運行多項工作負載。企業(yè)可以整合數據中心,將并購而來的IT資源進行整合,從而獲得向云端的可遷移性,同時減少操作系統(tǒng)和服務器的維護工作。

      【與云原生的故事】有獎征文火熱進行中:https://bbs.huaweicloud.com/blogs/345260

      云原生 容器

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格如何抽獎(Excel表格如何抽獎)
      下一篇:wps宏編輯器怎么用(wps宏編輯器有什么用)
      相關文章
      亚洲视频在线免费| 亚洲色大成网站WWW国产| 亚洲国产精品成人综合久久久 | 日韩亚洲国产综合久久久| 亚洲综合av一区二区三区不卡| 亚洲国产精品张柏芝在线观看| 亚洲黄色在线观看| 亚洲精品自在线拍| 亚洲国产成人久久三区| 亚洲精品福利网泷泽萝拉| 91精品国产亚洲爽啪在线影院| 亚洲综合精品香蕉久久网97| 亚洲无删减国产精品一区| 在线免费观看亚洲| 亚洲特级aaaaaa毛片| 亚洲国产高清视频在线观看| 亚洲jjzzjjzz在线播放| 国产亚洲国产bv网站在线| 亚洲中文字幕无码mv| 亚洲成av人片天堂网无码】| 国产AV无码专区亚洲AV蜜芽| 精品国产亚洲AV麻豆| 亚洲一级片免费看| 亚洲乱码国产乱码精品精| 亚洲国产成人片在线观看无码| 亚洲av福利无码无一区二区| 亚洲黄色在线观看| 亚洲综合校园春色| 亚洲国产精品美女久久久久| 亚洲国产成人五月综合网| 国产亚洲老熟女视频| 亚洲国产精品成人精品无码区 | 亚洲国产成人无码AV在线影院| 亚洲AV成人片无码网站| 亚洲男人的天堂一区二区| 亚洲中文字幕第一页在线| 久久亚洲精品中文字幕无码| 久久亚洲AV无码精品色午夜| 亚洲精品国产精品国自产网站 | 久久亚洲国产成人精品性色| 亚洲影视一区二区|