欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:容器 Docker

柚子快報激活碼778899分享:容器 Docker

http://yzkb.51969.com/

1.初識Docker

1.1.什么是Docker

微服務雖然具備各種各樣的優(yōu)勢,但服務的拆分通用給部署帶來了很大的麻煩。

分布式系統(tǒng)中,依賴的組件非常多,不同組件之間部署時往往會產生一些沖突。

在數百上千臺服務中重復部署,環(huán)境不一定一致,會遇到各種問題

1.1.1.應用部署的環(huán)境問題

大型項目組件較多,運行環(huán)境也較為復雜,部署時會碰到一些問題:

依賴關系復雜,容易出現兼容性問題

開發(fā)、測試、生產環(huán)境有差異

?

?例如一個項目中,部署時需要依賴于node.js、Redis、RabbitMQ、MySQL等,這些服務部署時所需要的函數庫、依賴項各不相同,甚至會有沖突。給部署帶來了極大的困難。

1.1.2.Docker解決依賴兼容問題

而Docker確巧妙的解決了這些問題,Docker是如何實現的呢?

Docker為了解決依賴的兼容問題的,采用了兩個手段:

將應用的Libs(函數庫)、Deps(依賴)、配置與應用一起打包

將每個應用放到一個隔離容器去運行,避免互相干擾

?

這樣打包好的應用包中,既包含應用本身,也保護應用所需要的Libs、Deps,無需再操作系統(tǒng)上安裝這些,自然就不存在不同應用之間的兼容問題了。

雖然解決了不同應用的兼容問題,但是開發(fā)、測試等環(huán)境會存在差異,操作系統(tǒng)版本也會有差異,怎么解決這些問題呢?

?

1.1.3.Docker解決操作系統(tǒng)環(huán)境差異

要解決不同操作系統(tǒng)環(huán)境差異問題,必須先了解操作系統(tǒng)結構。以一個Ubuntu操作系統(tǒng)為例,結構如下:

結構包括:

計算機硬件:例如CPU、內存、磁盤等

系統(tǒng)內核:所有Linux發(fā)行版的內核都是Linux,例如CentOS、Ubuntu、Fedora等。內核可以與計算機硬件交互,對外提供內核指令,用于操作計算機硬件。

系統(tǒng)應用:操作系統(tǒng)本身提供的應用、函數庫。這些函數庫是對內核指令的封裝,使用更加方便。

應用于計算機交互的流程如下:

1)應用調用操作系統(tǒng)應用(函數庫),實現各種功能

2)系統(tǒng)函數庫是對內核指令集的封裝,會調用內核指令

3)內核指令操作計算機硬件

Ubuntu和CentOSpringBoot都是基于Linux內核,無非是系統(tǒng)應用不同,提供的函數庫有差異:

?

此時,如果將一個Ubuntu版本的MySQL應用安裝到CentOS系統(tǒng),MySQL在調用Ubuntu函數庫時,會發(fā)現找不到或者不匹配,就會報錯了: ?

Docker如何解決不同系統(tǒng)環(huán)境的問題?

Docker將用戶程序與所需要調用的系統(tǒng)(比如Ubuntu)函數庫一起打包

Docker運行到不同操作系統(tǒng)時,直接基于打包的函數庫,借助于操作系統(tǒng)的Linux內核來運行

如圖:

?

1.1.4.小結

Docker如何解決大型項目依賴關系復雜,不同組件依賴的兼容性問題?

Docker允許開發(fā)中將應用、依賴、函數庫、配置一起打包,形成可移植鏡像

Docker應用運行在容器中,使用沙箱機制,相互隔離

Docker如何解決開發(fā)、測試、生產環(huán)境有差異的問題?

Docker鏡像中包含完整運行環(huán)境,包括系統(tǒng)函數庫,僅依賴系統(tǒng)的Linux內核,因此可以在任意Linux操作系統(tǒng)上運行

Docker是一個快速交付應用、運行應用的技術,具備下列優(yōu)勢:

可以將程序及其依賴、運行環(huán)境一起打包為一個鏡像,可以遷移到任意Linux操作系統(tǒng)

運行時利用沙箱機制形成隔離容器,各個應用互不干擾

啟動、移除都可以通過一行命令完成,方便快捷

?

1.2.Docker和虛擬機的區(qū)別

Docker可以讓一個應用在任何操作系統(tǒng)中非常方便的運行。而以前我們接觸的虛擬機,也能在一個操作系統(tǒng)中,運行另外一個操作系統(tǒng),保護系統(tǒng)中的任何應用。

兩者有什么差異呢?

虛擬機(virtual machine)是在操作系統(tǒng)中模擬硬件設備,然后運行另一個操作系統(tǒng),比如在 Windows 系統(tǒng)里面運行 Ubuntu 系統(tǒng),這樣就可以運行任意的Ubuntu應用了。

Docker僅僅是封裝函數庫,并沒有模擬完整的操作系統(tǒng),如圖:

對比來看: ?

小結:

Docker和虛擬機的差異:

docker是一個系統(tǒng)進程;虛擬機是在操作系統(tǒng)中的操作系統(tǒng)

docker體積小、啟動速度快、性能好;虛擬機體積大、啟動速度慢、性能一般

?

1.3.Docker架構

1.3.1.鏡像和容器

Docker中有幾個重要的概念:

鏡像(Image):Docker將應用程序及其所需的依賴、函數庫、環(huán)境、配置等文件打包在一起,稱為鏡像。

容器(Container):鏡像中的應用程序運行后形成的進程就是容器,只是Docker會給容器進程做隔離,對外不可見。

一切應用最終都是代碼組成,都是硬盤中的一個個的字節(jié)形成的文件。只有運行時,才會加載到內存,形成進程。

而鏡像,就是把一個應用在硬盤上的文件、及其運行環(huán)境、部分系統(tǒng)函數庫文件一起打包形成的文件包。這個文件包是只讀的。

容器呢,就是將這些文件中編寫的程序、函數加載到內存中允許,形成進程,只不過要隔離起來。因此一個鏡像可以啟動多次,形成多個容器進程。

例如你下載了一個QQ,如果我們將QQ在磁盤上的運行文件及其運行的操作系統(tǒng)依賴打包,形成QQ鏡像。然后你可以啟動多次,雙開、甚至三開QQ,跟多個妹子聊天。

1.3.2.DockerHub

開源應用程序非常多,打包這些應用往往是重復的勞動。為了避免這些重復勞動,人們就會將自己打包的應用鏡像,例如Redis、MySQL鏡像放到網絡上,共享使用,就像GitHub的代碼共享一樣。

DockerHub:DockerHub是一個官方的Docker鏡像的托管平臺。這樣的平臺稱為Docker Registry。

國內也有類似于DockerHub 的公開服務,比如 網易云鏡像服務、阿里

柚子快報激活碼778899分享:容器 Docker

http://yzkb.51969.com/

推薦閱讀

評論可見,查看隱藏內容

本文內容根據網絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19573030.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄