最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker圖文詳解

 更新時間:2019年01月11日 15:27:05   作者:qq_43193797  
今天小編就為大家分享一篇關于Docker圖文詳解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

1.Docker簡介

1.1虛擬化

1.1.1什么是虛擬化

在計算機中,虛擬化(英語:Virtualization)是一種資源管理技術,是將計算機的各種實體資源,如服務器、網絡、內存及存儲等,予以抽象、轉換后呈現出來,打破實體結構間的不可切割的障礙,使用戶可以比原本的組態(tài)更好的方式來應用這些資源。這些資源的新虛擬部份是不受現有資源的架設方式,地域或物理組態(tài)所限制。一般所指的虛擬化資源包括計算能力和資料存儲。

在實際的生產環(huán)境中,虛擬化技術主要用來解決高性能的物理硬件產能過剩和老的舊的硬件產能過低的重組重用,透明化底層物理硬件,從而最大化的利用物理硬件對資源充分利用虛擬化技術種類很多,例如:軟件虛擬化、硬件虛擬化、內存虛擬化、網絡虛擬化(vip)、桌面虛擬化、服務虛擬化、虛擬機等等。

1.1.2虛擬化種類

(1)全虛擬化架構 虛擬硬件 —>虛擬操作系統(tǒng)

虛擬機的監(jiān)視器(hypervisor)是類似于用戶的應用程序運行在主機的OS之上,如VMware的workstation,這種虛擬化產品提供了虛擬的硬件。

(2)OS層虛擬化架構: 不對硬件進行虛擬化,相同內核操作系統(tǒng)

(3)硬件層虛擬化

硬件層的虛擬化具有高性能和隔離性,因為hypervisor直接在硬件上運行,有利于控制VM的OS訪問硬件資源,使用這種解決方案的產品有VMware ESXi 和 Xen server

Hypervisor是一種運行在物理服務器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應用共享一套基礎物理硬件,因此也可以看作是虛擬環(huán)境中的“元”操作系統(tǒng),它可以協(xié)調訪問服務器上的所有物理設備和虛擬機,也叫虛擬機監(jiān)視器(Virtual Machine Monitor,VMM)。

Hypervisor是所有虛擬化技術的核心。當服務器啟動并執(zhí)行Hypervisor時,它會給每一臺虛擬機分配適量的內存、CPU、網絡和磁盤,并加載所有虛擬機的客戶操作系統(tǒng)。宿主機

Hypervisor是所有虛擬化技術的核心,軟硬件架構和管理更高效、更靈活,硬件的效能能夠更好地發(fā)揮出來。常見的產品有:VMware、KVM、Xen等等。Openstack

1.2什么是Docker

1.2.1容器技術 類似OS層虛擬化架構:

在計算機的世界中,容器擁有一段漫長且傳奇的歷史。容器與管理程序虛擬化(hypervisor virtualization,HV)有所不同,管理程序虛擬化通過中間層將一臺或者多臺獨立的機器虛擬運行與物理硬件之上,而容器則是直接運行在操作系統(tǒng)內核之上的用戶空間。因此,容器虛擬化也被稱為“操作系統(tǒng)級虛擬化”,容器技術可以讓多個獨立的用戶空間運行在同一臺宿主機上。

由于“客居”于操作系統(tǒng),容器只能運行與底層宿主機相同或者相似的操作系統(tǒng),這看起來并不是非常靈活。例如:可以在Ubuntu服務中運行Redhat Enterprise Linux,但無法再Ubuntu服務器上運行Microsoft Windows。

相對于徹底隔離的管理程序虛擬化,容器被認為是不安全的。而反對這一觀點的人則認為,由于虛擬容器所虛擬的是一個完整的操作系統(tǒng),這無疑增大了攻擊范圍,而且還要考慮管理程序層潛在的暴露風險。

盡管有諸多局限性,容器還是被廣泛部署于各種各樣的應用場合。在超大規(guī)模的多租戶服務部署、輕量級沙盒以及對安全要求不太高的隔離環(huán)境中,容器技術非常流行。最常見的一個例子就是“權限隔離監(jiān)牢”(chroot jail),它創(chuàng)建一個隔離的目錄環(huán)境來運行進程。如果權限隔離監(jiān)牢正在運行的進程被入侵者攻破,入侵者便會發(fā)現自己“身陷囹圄”,因為權限不足被困在容器所創(chuàng)建的目錄中,無法對宿主機進一步破壞。

最新的容器技術引入了OpenVZ、Solaris Zones以及Linux容器(LXC)。使用這些新技術,容器不在僅僅是一個單純的運行環(huán)境。在自己的權限類內,容器更像是一個完整的宿主機。對Docker來說,它得益于現代Linux特性,如控件組(control group)、命名空間(namespace)技術,容器和宿主機之間的隔離更加徹底,容器有獨立的網絡和存儲棧,還擁有自己的資源管理能力,使得同一臺宿主機中的多個容器可以友好的共存。

容器被認為是精益技術,因為容器需要的開銷有限。和傳統(tǒng)虛擬化以及半虛擬化相比,容器不需要模擬層(emulation layer)和管理層(hypervisor layer),而是使用操作系統(tǒng)的系統(tǒng)調用接口。這降低了運行單個容器所需的開銷,也使得宿主機中可以運行更多的容器。

盡管有著光輝的歷史,容器仍未得到廣泛的認可。一個很重要的原因就是容器技術的復雜性:容器本身就比較復雜,不易安裝,管理和自動化也很困難。而Docker就是為了改變這一切而生的。

1.2.2容器與虛擬機比較

(1)本質上的區(qū)別

(2)使用上的區(qū)別

1.2.3 Docker特點

(1)上手快。

用戶只需要幾分鐘,就可以把自己的程序“Docker化”。Docker依賴于“寫時復制”(copy-on-write)模型,使修改應用程序也非常迅速,可以說達到“隨心所致,代碼即改”的境界。

隨后,就可以創(chuàng)建容器來運行應用程序了。大多數Docker容器只需要不到1秒中即可啟動。由于去除了管理程序的開銷,Docker容器擁有很高的性能,同時同一臺宿主機中也可以運行更多的容器,使用戶盡可能的充分利用系統(tǒng)資源。

(2)職責的邏輯分類

使用Docker,開發(fā)人員只需要關心容器中運行的應用程序,而運維人員只需要關心如何管理容器。Docker設計的目的就是要加強開發(fā)人員寫代碼的開發(fā)環(huán)境與應用程序要部署的生產環(huán)境一致性。從而降低那種“開發(fā)時一切正常,肯定是運維的問題(測試環(huán)境都是正常的,上線后出了問題就歸結為肯定是運維的問題)”

(3)快速高效的開發(fā)生命周期

Docker的目標之一就是縮短代碼從開發(fā)、測試到部署、上線運行的周期,讓你的應用程序具備可移植性,易于構建,并易于協(xié)作。(通俗一點說,Docker就像一個盒子,里面可以裝很多物件,如果需要這些物件的可以直接將該大盒子拿走,而不需要從該盒子中一件件的取。)

(4)鼓勵使用面向服務的架構

Docker還鼓勵面向服務的體系結構和微服務架構。Docker推薦單個容器只運行一個應用程序或進程,這樣就形成了一個分布式的應用程序模型,在這種模型下,應用程序或者服務都可以表示為一系列內部互聯(lián)的容器,從而使分布式部署應用程序,擴展或調試應用程序都變得非常簡單,同時也提高了程序的內省性。(當然,可以在一個容器中運行多個應用程序)

1.3 Docker組件

1.3.1 Docker客戶端和服務器

Docker是一個客戶端-服務器(C/S)架構程序。Docker客戶端只需要向Docker服務器或者守護進程發(fā)出請求,服務器或者守護進程將完成所有工作并返回結果。Docker提供了一個命令行工具Docker以及一整套RESTful API。你可以在同一臺宿主機上運行Docker守護進程和客戶端,也可以從本地的Docker客戶端連接到運行在另一臺宿主機上的遠程Docker守護進程。

1.3.2 Docker鏡像

鏡像是構建Docker的基石。用戶基于鏡像來運行自己的容器。鏡像也是Docker生命周期中的“構建”部分。鏡像是基于聯(lián)合文件系統(tǒng)的一種層式結構,由一系列指令一步一步構建出來。例如:

  • 添加一個文件;
  • 執(zhí)行一個命令;
  • 打開一個窗口。

也可以將鏡像當作容器的“源代碼”。鏡像體積很小,非?!氨銛y”,易于分享、存儲和更新。

1.3.3 Registry(注冊中心)

Docker用Registry來保存用戶構建的鏡像。Registry分為公共和私有兩種。Docker公司運營公共的Registry叫做Docker Hub。用戶可以在Docker Hub注冊賬號,分享并保存自己的鏡像(說明:在Docker Hub下載鏡像巨慢,可以自己構建私有的Registry)。

1.3.4 Docker容器

Docker可以幫助你構建和部署容器,你只需要把自己的應用程序或者服務打包放進容器即可。容器是基于鏡像啟動起來的,容器中可以運行一個或多個進程。我們可以認為,鏡像是Docker生命周期中的構建或者打包階段,而容器則是啟動或者執(zhí)行階段。 容器基于鏡像啟動,一旦容器啟動完成后,我們就可以登錄到容器中安裝自己需要的軟件或者服務。

所以Docker容器就是:

  • 一個鏡像格式;
  • 一些列標準操作;
  • 一個執(zhí)行環(huán)境。

Docker借鑒了標準集裝箱的概念。標準集裝箱將貨物運往世界各地,Docker將這個模型運用到自己的設計中,唯一不同的是:集裝箱運輸貨物,而Docker運輸軟件。

和集裝箱一樣,Docker在執(zhí)行上述操作時,并不關心容器中到底裝了什么,它不管是web服務器,還是數據庫,或者是應用程序服務器什么的。所有的容器都按照相同的方式將內容“裝載”進去。

Docker也不關心你要把容器運到何方:我們可以在自己的筆記本中構建容器,上傳到Registry,然后下載到一個物理的或者虛擬的服務器來測試,在把容器部署到具體的主機中。像標準集裝箱一樣,Docker容器方便替換,可以疊加,易于分發(fā),并且盡量通用。

使用Docker,我們可以快速的構建一個應用程序服務器、一個消息總線、一套實用工具、一個持續(xù)集成(CI)測試環(huán)境或者任意一種應用程序、服務或工具。我們可以在本地構建一個完整的測試環(huán)境,也可以為生產或開發(fā)快速復制一套復雜的應用程序棧。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • 簡單談談Docker鏡像的使用方法

    簡單談談Docker鏡像的使用方法

    本次分享從個人的角度,講述對于Docker鏡像的使用方法,包括了從從Docker Hub或者其他鏡像源安裝Docker鏡像,從Image file安裝Docker鏡像,從Docker file制作Docker鏡像,有需要的小伙伴可以參考下
    2016-10-10
  • Docker 教程之鏡像列出詳細介紹

    Docker 教程之鏡像列出詳細介紹

    這篇文章主要介紹了Docker 教程之鏡像列出詳細介紹的相關資料,需要的朋友可以參考下
    2016-12-12
  • docker部署OceanBase-ce cluster方式

    docker部署OceanBase-ce cluster方式

    這篇文章主要介紹了docker部署OceanBase-ce cluster方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 關于dockerfile build過程中報/bin/sh: pip: command not found的解決方法

    關于dockerfile build過程中報/bin/sh: pip: command not found的解決方法

    這篇文章主要介紹了關于dockerfile build過程中報/bin/sh: pip: command not found的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Docker 使用nsenter工具進入容器的操作

    Docker 使用nsenter工具進入容器的操作

    這篇文章主要介紹了Docker 使用nsenter工具進入容器的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker設置了端口映射,不能訪問的解決方案

    docker設置了端口映射,不能訪問的解決方案

    這篇文章主要介紹了docker設置了端口映射,不能訪問的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker啟動jar包輸出日志的問題以及解決

    docker啟動jar包輸出日志的問題以及解決

    這篇文章主要介紹了docker啟動jar包輸出日志的問題以及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Docker基礎和常用命令詳解

    Docker基礎和常用命令詳解

    這篇文章主要介紹了Docker基礎和常用命令方法的相關資料,需要的朋友可以參考下
    2022-11-11
  • docker的鏡像存放地址在哪里

    docker的鏡像存放地址在哪里

    Docker鏡像(Image)是用于創(chuàng)建?Docker?容器的模板,下面這篇文章主要給大家介紹了關于docker的鏡像存放地址在哪里的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • Docker中運行PostgreSQL并推薦幾款連接工具

    Docker中運行PostgreSQL并推薦幾款連接工具

    PostgreSQL支持大部分的SQL標準并且提供了很多其他現代特性,如復雜查詢、外鍵、觸發(fā)器、視圖、事務完整性、多版本并發(fā)控制等,今天給大家介紹Docker中運行PostgreSQL并推薦幾款連接工具,需要的朋友參考下吧
    2021-06-06

最新評論

平塘县| 丹寨县| 哈尔滨市| 广元市| 嘉祥县| 云安县| 锡林郭勒盟| 西和县| 太仆寺旗| 新宁县| 尼勒克县| 金塔县| 临湘市| 宁强县| 太康县| 尼勒克县| 婺源县| 湄潭县| 石楼县| 沈阳市| 耿马| 台山市| 化隆| 玉门市| 金沙县| 乐业县| 凤翔县| 阿勒泰市| 洛阳市| 宜兰市| 原阳县| 克山县| 遂平县| 育儿| 聊城市| 克拉玛依市| 阳泉市| 西城区| 陵川县| 思南县| 黔西|