偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Docker 和一個(gè)正常的虛擬機(jī)有何區(qū)別?

開發(fā) 前端
我多次重讀Docker.io文檔,希望搞明白Docker.io和一個(gè)完全的虛擬機(jī)的區(qū)別。Docker是如何做到提供一個(gè)完整的文件系統(tǒng),獨(dú)立的網(wǎng)絡(luò)環(huán)境等等這些功能,同時(shí)還沒有如此龐大?

問:

我多次重讀Docker.io文檔,希望搞明白Docker.io和一個(gè)完全的虛擬機(jī)的區(qū)別。Docker是如何做到提供一個(gè)完整的文件系統(tǒng),獨(dú)立的網(wǎng)絡(luò)環(huán)境等等這些功能,同時(shí)還沒有如此龐大?

為什么部署軟件在一個(gè)docker鏡像(image)比部署在一致的生產(chǎn)環(huán)境上要容易?

當(dāng)前Docker使用的是Linux容器,這是運(yùn)行在與它的宿主機(jī)器同樣的操作系統(tǒng)上。這準(zhǔn)許它可以和宿主機(jī)器共享許多系統(tǒng)資源。它也會使用AuFS作為文件系統(tǒng),也為你管理網(wǎng)絡(luò)。

AuFS是一個(gè)層狀的文件系統(tǒng),因此你可以有一個(gè)只讀部分和一個(gè)只寫部分,然后將二者組合起來。你可以使系統(tǒng)的共同的部分用作只讀,那塊是被所有容器共享,并且給每個(gè)容器自己的可寫區(qū)域

好吧,讓我們假設(shè)你有一個(gè)容器鏡像(image)容量是1GB,如果你想用一個(gè)完整的虛擬機(jī)來裝載,你得需要容量的大小是1GB乘上你需要虛擬機(jī)的數(shù)量。但使用Linux容器虛擬化技術(shù)(LXC)和AuFS,你可以共享1GB容量,如果你需要1000個(gè)容器,假設(shè)他們都運(yùn)行在同樣的系統(tǒng)影像上,你仍然可以用稍微比1GB多一點(diǎn)的空間來給容器系統(tǒng),

一個(gè)完整的虛擬化系統(tǒng)得到了分給它的自有全部資源,只有最小的共享。你獲得了更多的隔離,但是這是很龐大的(需要更多的資源)

使用Linux容器虛擬化技術(shù)(LXC),隔離性方面有所缺失,但是他們更加輕量,而且需要更少資源。所以你可以輕松運(yùn)行1000個(gè)容器在一個(gè)宿主機(jī)器上,甚至眼都不眨。試著用Xen來實(shí)現(xiàn)那個(gè),我想除非你有一個(gè)超級強(qiáng)大的主機(jī),不然我看是不可能的了

一個(gè)完整的虛擬系統(tǒng)通常得用幾分鐘去啟動,linux容器虛擬技術(shù)(LXC)只要數(shù)秒,甚至有時(shí)時(shí)間更短。

對于每種虛擬系統(tǒng)都有反對者和支持者。如果你希望一個(gè)完全隔離的和資源有保障的環(huán)境,那么完全的虛擬機(jī)是你的選擇。如果你只希望進(jìn)程之間相互隔離,并且希望大量運(yùn)行他們在一個(gè)合理大小的宿主機(jī)器上。那么linux容器虛擬技術(shù)(LXC)是你的選擇。

更多有關(guān)信息,可以參考這些博客,這非常詳細(xì)介紹了LXC的工作 http://blog.dotcloud.com/under-the-hood-linux-kernels-on-dotcloud-part

"為嘛在docker鏡像上部署軟件比在一致生產(chǎn)環(huán)境上容易?"我覺得問這個(gè)問題是非常愚蠢的

部署一個(gè)一致的生產(chǎn)環(huán)境說起來容易做起來難。即使你使用了chef 和puppet之類的工具,像操作系統(tǒng)升級,還有一些其它的事情而造成的主機(jī)及環(huán)境之間的改變,往往是常有的事。

docker所做的事情就是賦予你一種能力,使你可以將OS快照存入一個(gè)通用的鏡像,并使得在往其它的docker主機(jī)上部署時(shí)變得容易。對于本地,開 發(fā)、質(zhì)量管理、產(chǎn)品等等,都是用的同一個(gè)鏡像。當(dāng)然你也可以用其它的工具來做到這一點(diǎn),但是可能沒有這么容易或者這么快。

這對于單元測試是非常棒的。讓我們來看看你有1000個(gè)測試,而且都需要連接數(shù)據(jù)庫。為了不破壞任何事情,你需要一個(gè)接著一個(gè)的運(yùn)行,以便這些測試不會相 互影響(每個(gè)測試都在事務(wù)中,然后回滾回去)。使用Docker,那么你可以創(chuàng)建一個(gè)數(shù)據(jù)庫的鏡像(image),既然你知道這些測試會運(yùn)行在相同的的數(shù) 據(jù)庫快照下,那么就可以并行地運(yùn)行所有測試。既然這些測試都是并行運(yùn)行在linux容器中,那么他們可以同時(shí)運(yùn)行在同樣的環(huán)境中。這樣你的測試會完成的非 ??臁T囍猛暾奶摂M機(jī)來做這件事。

編輯:來著評論…

  有趣!我覺得我仍然對于“系統(tǒng)快照”的概念有些模糊,如何沒有使用這些系統(tǒng) 像(image)會怎么樣?。?/td>

好的,試著看我能不能解釋。你開始有個(gè)基礎(chǔ) 鏡像(image),然后進(jìn)行改變數(shù)據(jù),并且使用docker提交這些改變,這個(gè)會建立一個(gè)鏡像(image),這個(gè) 鏡像(image)只包含數(shù)據(jù)改變的部分。當(dāng)你想運(yùn)行你的這個(gè) 鏡像(image)你仍然需要這基礎(chǔ) 鏡像(image),然后使用層式的文件系統(tǒng),將你的映像置于基礎(chǔ)映像之上,這個(gè)例子中用AUFS,AUFS將不同層融合起來,然后你就會得到你想要的,你只要簡單運(yùn)行就可以了。你可以增加許多的 鏡像(image),這些 鏡像(image)只會記錄改變的地方。

原文鏈接:http://stackoverflow.com/questions/16047306/how-is-docker-io-different-from-a-normal-virtual-machine

譯文鏈接:http://www.oschina.net/translate/how-is-docker-io-different-from-a-normal-virtual-machine

【編輯推薦】

  1. 使用 RemoteBox 遠(yuǎn)程管理 VirtualBox 虛擬機(jī)
  2. 物理機(jī)和虛擬機(jī)的Web應(yīng)用性能比較
  3. WildFly JBoss Developer Studio和Docker開發(fā)應(yīng)用
  4. Docker的搭建Gitlab CI 全過程詳解

【責(zé)任編輯:chensf TEL:(010)68476606】

責(zé)任編輯:陳四芳 來源: 開源中國編譯
相關(guān)推薦

2023-06-03 00:04:10

容器虛擬機(jī)VM

2010-08-30 10:17:00

虛擬機(jī)在線遷移

2018-05-03 14:48:22

Docker容器虛擬機(jī)

2019-10-28 11:47:15

Docker虛擬機(jī)操作系統(tǒng)

2013-11-27 10:10:54

虛擬機(jī)存儲技術(shù)

2017-05-31 14:52:53

虛擬機(jī)Docker容器

2012-05-18 10:22:23

2020-01-17 10:52:37

無服務(wù)器容器技術(shù)

2021-03-10 07:52:58

虛擬機(jī)程序VMware

2021-07-31 12:58:53

PodmanLinux虛擬機(jī)

2022-01-26 16:30:47

代碼虛擬機(jī)Linux

2017-03-21 15:30:02

虛擬機(jī)DockerHyper

2010-07-26 09:02:38

2013-07-17 09:32:58

2024-09-14 11:36:02

2018-06-22 10:30:56

C語言虛擬機(jī)編譯器

2023-01-04 11:41:31

微服務(wù)SOA架構(gòu)

2017-03-02 09:49:38

2023-04-26 07:51:36

虛擬機(jī)操作系統(tǒng)進(jìn)程

2012-07-03 13:15:00

vSphere虛擬機(jī)存儲
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號