欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker和虛擬機的區(qū)別及說明

 更新時間:2024年11月05日 11:13:18   作者:洛上言  
Docker與虛擬機(VM)主要差異在于實現(xiàn)方式及效率,Docker通過打包應(yīng)用及其依賴于容器中,直接與操作系統(tǒng)內(nèi)核交互,實現(xiàn)跨系統(tǒng)運行,而無需模擬整個操作系統(tǒng),這使得Docker在體積、啟動速度及性能上優(yōu)于虛擬機,虛擬機通過模擬硬件環(huán)境

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

兩者有什么差異呢?

Doker的實現(xiàn)原理

Docker把應(yīng)用及其所需要的依賴、函數(shù)庫、甚至操作系統(tǒng)函數(shù)庫也一起打包,那這樣一來,應(yīng)用直接運行時,可以直接調(diào)用本地函數(shù)庫,然后與Linux內(nèi)核進行交互,這樣它就不再關(guān)心操作系統(tǒng)是什么系統(tǒng)了,于是就能實現(xiàn)跨系統(tǒng)的一種運行了。

虛擬機(virtual machine)

用到了一種名為Hypervisor的技術(shù),這種技術(shù)可以在操作系統(tǒng)中模擬一個計算機的各種各樣的硬件設(shè)備(比如CPU、內(nèi)存等等),然后在這個模擬出的計算機上運行另一個操作系統(tǒng),比如在 Windows 系統(tǒng)里面運行 Ubuntu 系統(tǒng),這樣就可以運行任意的Ubuntu應(yīng)用了。

既然操作系統(tǒng)都能重新安裝,那我們就可以在它上邊去安裝任意適合的依賴、函數(shù)庫、以及應(yīng)用,這樣也實現(xiàn)了跨系統(tǒng)的應(yīng)用部署。

image-20210731145914960

對比來看

我們的虛擬機它是在一個系統(tǒng)里裝了另外的一個系統(tǒng),所以當(dāng)應(yīng)用執(zhí)行時它會以為自己在一臺真實的電腦上,因此它會去調(diào)用這個內(nèi)置的操作系統(tǒng),然后它再與Hypervisor進行交互,然后再把信息傳遞給了我們的web操作系統(tǒng),web操作系統(tǒng)再去調(diào)用計算機硬件,于是我們的應(yīng)用執(zhí)行就完成了,此時它經(jīng)過了層層的傳遞,所以它的性能相對來講是比較差一點的。

Docker應(yīng)用在執(zhí)行時,是直接調(diào)用操作系統(tǒng)內(nèi)核的,所以它的執(zhí)行性能要比虛擬機的執(zhí)行性能要好很多。

并且Docker僅僅是封裝應(yīng)用程序執(zhí)行需要的一些簡單的函數(shù)庫和依賴,并沒有模擬完整的操作系統(tǒng),所以體積往往比較小,最小的一個docker容器可能只有幾MB,而大一點就是幾十MB,幾百MB;而虛擬機動不動就要幾個g甚至幾百g的內(nèi)存空間,因此體積占用是比較大的。

并且虛擬機啟動的時候需要啟動虛擬的計算機的操作系統(tǒng),等于把這個計算機重啟了一遍,然后再去啟動虛擬操作系統(tǒng)上面的應(yīng)用。

而Docker就是直接在操作系統(tǒng)上把一個進程啟動起來了,所以它的啟動速度也是非常的快。

總結(jié):Docker和虛擬機的差異

  • docker是一個系統(tǒng)進程,因為它是直接與操作系統(tǒng)內(nèi)核做交互;虛擬機是在操作系統(tǒng)中的操作系統(tǒng)
  • docker體積小、啟動速度快、性能好;虛擬機體積大、啟動速度慢、性能一般

因此,現(xiàn)在企業(yè)做服務(wù)部署,基本上都會去選擇用docker,而不會選擇用虛擬機。

特性Docker虛擬機
性能接近原生性能較差
硬盤占用一般為 MB一般為 GB
啟動秒級分鐘級

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker下載鏡像太慢的解決方案

    docker下載鏡像太慢的解決方案

    這篇文章主要介紹了docker下載鏡像太慢的解決方案,具體操作步驟很詳細也很簡單,有遇到相同問題但是不知道如何解決的同學(xué)可以嘗試下
    2021-03-03
  • Docker?compose部署minio服務(wù)

    Docker?compose部署minio服務(wù)

    這篇文章主要介紹了Docker?compose部署minio服務(wù),minio的作用就是用來存儲文件的,比如圖片、視頻、音頻等各種類型的文件,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • docker容器與centos宿主機時間一致設(shè)置方法

    docker容器與centos宿主機時間一致設(shè)置方法

    這篇文章主要介紹了docker容器與centos宿主機時間一致設(shè)置方法,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細介紹及示例

    Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細介紹及示例

    這篇文章主要介紹了Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細介紹及示例的相關(guān)資料,Docker 很強大,不僅部署維護提高效率,docker和宿主之間的數(shù)據(jù)共享以及docker間的數(shù)據(jù)共享需要好好研究一下,需要的朋友可以參考下
    2016-11-11
  • CentOS7 禁用Transparent Huge Pages的實現(xiàn)方法

    CentOS7 禁用Transparent Huge Pages的實現(xiàn)方法

    這篇文章主要介紹了 CentOS7 禁用Transparent Huge Pages的實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 使用docker?compose快速配置一組容器服務(wù)詳解

    使用docker?compose快速配置一組容器服務(wù)詳解

    這篇文章主要為大家介紹了使用docker-?compose快速配置一組容器服務(wù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • SpringCloud基于Docker和Docker-Compose的項目部署過程

    SpringCloud基于Docker和Docker-Compose的項目部署過程

    本文介紹了如何卸載舊版本Docker、更新系統(tǒng)、安裝Docker及其依賴,并設(shè)置國內(nèi)鏡像源以加快下載速度,詳細說明了如何安裝Docker Compose、配置鏡像加速器,并展示了如何使用Docker Compose部署SpringCloud項目,提供了更新和重啟容器的方法
    2024-10-10
  • docker獲取Let''s Encrypt永久免費SSL證書的方法

    docker獲取Let''s Encrypt永久免費SSL證書的方法

    在本篇文章里小編給大家分享了一篇關(guān)于docker獲取Let's Encrypt永久免費SSL證書的方法,以后需要的朋友們可以參考下。
    2021-01-01
  • 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境的詳細教程

    基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境的詳細教程

    K8S全稱是Kubernetes,是一個全新的基于容器技術(shù)的分布式架構(gòu)領(lǐng)先方案,這篇文章主要介紹了基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境(環(huán)境搭建篇),對docker K8S持續(xù)集成交付環(huán)境相關(guān)知識感興趣的朋友一起看看吧
    2021-05-05
  • 在Docker中構(gòu)建并運行Nginx容器的完整教程

    在Docker中構(gòu)建并運行Nginx容器的完整教程

    Docker 作為一種強大的容器化平臺,使得開發(fā)、測試和部署變得更加高效和靈活,Nginx 是一款廣泛使用的高性能 Web 服務(wù)器和反向代理服務(wù)器,適用于各種場景,在本教程中,我們將詳細介紹如何在 Docker 中構(gòu)建并運行一個 Nginx 容器,需要的朋友可以參考下
    2024-09-09

最新評論