山外筆記-云原生】《Docker+Kubernetes應用開發與快速上云》讀書筆記-2020.04.25(六)

      網友投稿 794 2025-04-03

      書名:Docker+Kubernetes應用開發與快速上云

      出版社:機械工業出版社

      出版時間:2020-01

      ISBN:9787111643012

      [山外筆記-云原生]《Docker_Kubernetes應用開發與快速上云》讀書筆記01.pdf

      1、云原生下的DevOps的解決方案:以Docker為代表的容器技術作為基礎保障、以Kubernetes(簡稱k8s)為代表的容器編排技術作為支撐的解決方案。

      2、云原生的實現:以Docker為代表的容器技術+以K8s為代表的容器編排技術+微服務架構

      3、本書內容介紹(共11章)

      第01章:主要介紹Docker以及容器技術的發展簡史。

      第02章:主要介紹Docker的市場趨勢和主要應用場景。

      第03章:主要講解各個環境下的Docker安裝過程。

      第04章:主要結合實踐示例講解Docker的一些鏡像操作命令和容器操作命令。

      第05章:主要圍繞Docker應用開發的持續工作流程進行講解。

      第06章:主要講解如何使用主流的編程語言進行Docker應用開發。

      第07章:主要講述主流的數據庫容器化并且側重講解容器化之后如何持久保存數據。

      【山外筆記-云原生】《Docker+Kubernetes應用開發與快速上云》讀書筆記-2020.04.25(六)

      第08章:主要講述Kubernetes的主體架構、核心概念、集群搭建和故障處理。

      第09章:主要講述k8s應用部署流程及相關功能。

      第10章:主要講述Docker+k8s的組合上云的問題。

      第11章,主要講述容器化之后的DevOps實踐。

      本章主要包含以下內容:

      Docker技術概述;

      容器技術的發展歷史;

      Docker和虛擬機的區別;

      Docker的三個基本概念(為后續進一步講解Docker做鋪墊);

      Docker的兩個版本。

      1、Docker是一個開源的應用容器引擎,可以輕松地為任何應用創建一個輕量級、可移植、自給自足的容器。

      2、Docker平臺就是一個軟件集裝箱化平臺,可以構建應用程序,將其依賴關系一起打包到一個容器中,然后可以批量地部署到不同的環境,非常易于裝載、復制、移除,適合彈性軟件架構。

      3、軟件容器充當軟件部署的標準單元,可以包含不同的代碼和依賴項。

      4、和虛擬機一樣,容器技術也是一種資源隔離的虛擬化技術。

      1、UNIX chroot(1979):起始階段

      容器概念始于UNIX chroot,chroot將一個進程及其子進程的根目錄改變到文件系統中的一個新位置,使該進程只能訪問到新的位置,從而達到進程隔離的目的。

      2、Cgroups(2007):Control Groups

      谷歌實現了Control Groups(Cgroups),而后被加入到Linux內核中,能夠限制和隔離一系列進程的資源使用(CPU、內存、磁盤I/O、網絡等),為后期容器的資源配額提供了技術保障。

      3、LXC(2008):Linux Containers

      2008年基于Cgroups和Linux Namespaces推出了第一個最為完善的Linux容器LXC,其功能通過Cgroups和Linux Namespaces實現,是第一套完整的Linux容器管理實現方案。

      4、Docker(2013)推出

      (1)Docker的理念是“一次構建,隨處運行”。

      (2)Docker在起步階段使用LXC,而后利用自己的libcontainer庫將其替換下來。

      (3)Docker引入了一整套與容器管理相關的生態系統,包括一套高效的分層式容器鏡像模型、一套全局及本地容器注冊表、一個精簡化REST API以及一套命令行界面等。

      5、Rocket(2014)推出

      (1)2014年CoreOS推出了一個類似于Docker的容器Rocket。

      (2)CoreOS是一個更加輕量級的Linux操作系統,Rocket在安全性上比Docker更嚴格。

      6、Docker支持Windows系統

      2016年微軟在Windows上提供了對容器的支持,Docker可以以原生方式運行在Windows上,而不需要使用Linux虛擬機。

      1、Docker容器

      (1)容器是一個應用層抽象,用于將代碼和依賴資源打包在一起。

      (2)多個容器可以在同一臺機器上運行,共享操作系統內核,但各自作為獨立的進程在用戶空間中運行。

      (3)與虛擬機相比,容器占用的空間較少(容器鏡像大小通常只有幾十兆),瞬間就能完成啟動。

      2、虛擬機VM

      (1)虛擬機(VM)是一個物理硬件層抽象,用于將一臺服務器變成多臺服務器。

      (2)管理程序允許多個VM在一臺機器上運行。

      (3)每個VM都包含一整套操作系統、一個或多個應用、必要的二進制文件和庫資源。

      (4)虛擬機占用大量空間,啟動也十分緩慢。

      3、容器和虛擬機的比較

      (1)啟動速度:容器的啟動速度是秒級,即幾秒內即可啟動;虛擬機的啟動速度需要幾分鐘到十幾分鐘。

      (2)存儲空間占用:容器基本鏡像的大小在幾百MB以內;虛擬機的鏡像大小在幾十GB到上百GB。

      (3)性能:容器的性能接近原生,基本無額外消耗;虛擬機的性能弱于原生,且占用較多的資源。

      (4)系統支持量:一臺普通的服務器可以輕松支持上千個容器,但最多只能支持幾十個虛擬機。

      (5)安全隔離性:容器的安全隔離性明顯弱于虛擬機。

      4、鏡像的主要目標是使環境(依賴項)在不同的部署中保持不變。即借助容器鏡像,可打包應用或服務并采用可靠且可重現的方式對其進行部署。

      1、鏡像(Image):一個特殊的文件系統

      (1)操作系統分為內核和用戶空間,Linux內核啟動后,會掛載root文件系統為其提供用戶空間支持。

      Docker鏡像是一個特殊的root文件系統,提供了容器運行時所需的程序、庫、資源、配置等文件,和為運行時準備的配置參數(如匿名卷、環境變量、用戶等)。

      (2)鏡像不包含任何動態數據,其內容在構建之后也不會被改變,可以使用docker image ls命令來列出本機的鏡像。

      (3)Docker利用Union FS的技術,設計為分層存儲的架構。

      鏡像實際是由多層文件系統聯合組成的。

      鏡像構建時會一層層構建,前一層是后一層的基礎。

      每一層構建完就不會再發生改變,后一層上的任何改變只發生在自己這一層。

      每一層盡量只包含該層需要添加的東西,任何額外的東西應該在該層構建結束前清理掉。

      分層存儲使鏡像的復用、定制更為容易,可用已構建好的鏡像作為基礎層,再添加新的層來定制自己所需的鏡像。

      2、容器(Container):鏡像運行時的實體

      (1)鏡像和容器的關系就像是面向對象程序設計中的類和實例一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。

      (2)容器可以被創建、啟動、停止、刪除、暫停等,可以使用命令docker ps來查看正在運行的容器列表。

      (3)容器的實質是進程,容器進程運行于屬于自己的獨立的命名空間中。

      (4)容器和鏡像一樣,也是分層存儲。

      容器存儲層的生存周期和容器一樣,容器消亡時,容器存儲層也隨之消亡。

      任何保存于容器存儲層的信息都會隨容器刪除而丟失。

      容器不應該向其存儲層內寫入任何數據,容器存儲層要保持無狀態化。

      容器所有文件的寫入操作,直接跳過容器存儲層,直接對數據卷(Volume)或者綁定宿主目錄發生讀寫。

      數據卷的生存周期獨立于容器,容器消亡,數據卷不會消亡,數據也不會丟失。

      (5)容器的優點:隔離性、可移植性、靈活性、可伸縮性和可控性,最重要的優點是可在開發和運營之間提供隔離。

      3、倉庫(Repository):集中存放鏡像文件的地方

      (1)鏡像倉庫是Docker用來集中存放鏡像文件的地方,提供集中的存儲、分發鏡像服務,類似于常用的代碼倉庫。

      一個Docker Registry中可以包含多個倉庫,每個倉庫可以包含多個標簽(Tag),每個標簽對應一個鏡像。

      一個倉庫通常會包含同一個軟件不同版本的鏡像,而標簽就常用于對應該軟件的各個版本。

      鏡像倉庫通過“<倉庫名>:<標簽>”的格式來指定鏡像的版本,如果不給出標簽,就以latest作為默認標簽。

      (2)Docker Registry

      Docker Registry公開服務是開放給用戶使用、允許用戶管理鏡像的Registry服務。

      Docker Registry公開服務允許用戶免費上傳、下載公開的鏡像,并可能提供收費服務供用戶管理私有鏡像。

      用戶可在本地搭建私有Docker Registry,Docker官方提供了Docker Registry鏡像,可以直接作為私有Registry服務。

      (3)Docker Hub

      Docker Hub是Docker官方維護的一個鏡像倉庫,也是最常使用的Registry公開服務、默認的Registry服務。

      Docker Hub擁有大量的高質量的官方鏡像,網址為https://hub.docker.com/。

      可以在Docker Hub上面免費托管自己的私人鏡像。

      1、社區版(Docker Community Edition, CE),適合個人開發者和小型團隊,可以免費使用。

      2、企業版(Docker Enterprise Edition, EE),專為企業開發和IT團隊設計,需要購買,強調安全。

      Docker Kubernetes 云原生 容器

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

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

      上一篇:行高快捷鍵(列寬行高快捷鍵)
      下一篇:篩選在哪欄(篩選在菜單欄的什么功能)
      相關文章
      久久精品国产亚洲AV无码娇色| 亚洲人成无码www久久久| 国产亚洲精品成人AA片新蒲金 | 亚洲.国产.欧美一区二区三区| 亚洲AV无码一区二区三区在线| 亚洲毛片在线观看| 图图资源网亚洲综合网站| 亚洲成av人片在线观看无码不卡| 亚洲精品无码久久一线| 久久99国产亚洲高清观看首页| 精品亚洲综合久久中文字幕| 国产亚洲人成网站在线观看不卡 | 亚洲国语在线视频手机在线| 亚洲最大免费视频网| 亚洲成年人电影网站| 亚洲国产精品xo在线观看| 亚洲人成网站在线观看播放动漫 | 亚洲日韩乱码中文无码蜜桃臀| 亚洲国产午夜精品理论片| 亚洲人成7777| 99亚偷拍自图区亚洲| 亚洲第一综合天堂另类专| 婷婷亚洲综合一区二区| 亚洲国产av一区二区三区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲人成网站18禁止| 亚洲大码熟女在线观看| 色噜噜噜噜亚洲第一| 亚洲精品专区在线观看| 亚洲熟妇中文字幕五十中出| 亚洲av永久无码精品古装片| 亚洲Av熟妇高潮30p| 亚洲经典在线中文字幕| 国产成人亚洲合集青青草原精品| 亚洲综合色一区二区三区| 久久精品国产亚洲AV| 亚洲精品WWW久久久久久| 亚洲日本va中文字幕久久| 亚洲伦另类中文字幕| 亚洲一区二区三区免费在线观看 | 亚洲AV一二三区成人影片|