女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鏡像理包含應用程序以及其相關依賴的一個基礎文件系統

lhl545545 ? 來源:Linux愛好者 ? 作者:Linux愛好者 ? 2020-06-11 09:43 ? 次閱讀

Docker直譯過來是碼頭工人,然而Docker給人的第一感覺是容器,容器技術英譯為Linux Container, Container的直譯有集裝箱,容器兩個意思,如果要形象的理解Linux Container的話還是叫集裝箱技術比較好(可以結合著上圖及LOGO理解這句話),由于這涉及到學術交流,及中國本土文化,念集裝箱技術會比較奇怪,所以我們都稱之為容器技術

為什么是“集裝箱技術”

我們都知道碼頭里的集裝箱是運載貨物用的,它是一種按規格標準化的鋼制箱子。集裝箱的特色,「在于其格式劃一,并可以層層重疊, 集裝箱與集裝箱之間互不影響」

于是乎,IT領域借鑒了這一理念,大家就在想,有沒有可能大家「只需要關注程序本身?」

換句話來說,就是我部署一個服務運行好后,我再想移植到另外一個地方,

「不用再安裝一套操作系統和依賴環境。」

這就像集裝箱運載一樣,我把一輛蘭博基尼跑車(好比開發好的應用APP),打包放到一容器集裝箱里,它通過貨輪可以輕而易舉的從上海碼頭(CentOS7.2環境)運送到紐約碼頭(Ubuntu14.04環境)。而且運輸期間,我的蘭博基尼(APP)沒有受到任何的損壞(文件沒有丟失),在另外一個碼頭卸貨后,依然可以完美風騷的賽跑(啟動正常)。

進入正題

定義: Docker是一個開源的應用容器引擎,開發者可以打包他們的應用及依賴到一個可移植的容器中,發布到流行的Linux機器上,也可實現虛擬化

進一步認識Docker之前,我準備了兩個關鍵詞

虛擬化技術

容器技術

虛擬化技術

定義: Virtual Machine(又名VM) 虛擬化,是指通過虛擬化技術將一臺計算機虛擬為多臺邏輯計算機。在一臺計算機上同時運行多個邏輯計算機,每個邏輯計算機可運行不同的操作系統,并且應用程序[1]都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率

通俗點來講就是虛擬化是為一些組件(例如虛擬應用、服務器、存儲和網絡)創建基于軟件的(或虛擬)表現形式的過程。

基于hypervisor(虛擬機管理系統)的虛擬化方式可以最大程度上提供虛擬化管理的靈活性。各種不同操作系統的虛擬機都能通過 hypervisor 來衍生、運行、銷毀。

然而,隨著時間推移,人們發現hypervisor這種方式麻煩越來越多。為什么?因為對于hypervisor環境來說,每個虛擬機都需要運行一個完整的操作系統以及其中安裝好的大量應用程序, 如下圖

但實際生產應用時,「我們更關注的是自己部署的應用程序本身」

容器技術

定義: 英文為Container 有效的將單個操作系統的資源劃分到孤立的組中,以便更好的在孤立的組之間平衡有沖突的資源使用需求

容器技術嚴格來說并不是虛擬化,沒有客戶機操作系統,是共享內核的。容器可以視為軟件供應鏈的集裝箱,能夠把應用需要的運行環境、緩存環境、數據庫環境等等封裝起來,以最簡潔的方式支持應用運行

Docker三大核心概念

鏡像

容器

倉庫

為了更好的理解,先講大家講個小故事

小A同學想要造一棟別墅,他重金請來了高級設計師,高級建造師,等各種高級工人,熱火朝天歷時二個月房子建成了,半年后,小A同學由于工作調動需要換到另一個城市,他只好在另一個城市花了重金又打造了一棟別墅

小A有一個朋友小B,跟小A是同樣的場景,唯一不同的是,小B認識一個魔法師,這個魔法師施展了法術(構建鏡像),將小B的別墅直接復制了一份(鏡像),裝到了小B的雙肩包(倉庫)里,小B去到另一個城市找了一片空地(容器)直接將裝在書包里的房子拿了出來,拿出來的房子就能變成跟小B在原城市一模一樣的房子

聽完了故事,咱們再來理解docker的兩句口號就更好理解了

「Build, Ship and Run (搭建,發送,運行)」

「Build?once,Run?anywhere (搭建一次,運行到任何地方)」

鏡像如果進行形象的表述,我們可以將 Docker 鏡像理解為包含應用程序以及其相關依賴的一個基礎文件系統(存儲著我們的程序和數據文件等等信息,鏡像層可以理解為基本的鏡像,可以通過組合多個鏡像層生成一個新的鏡像;也可以將一個鏡像可以作為一個鏡像層,成為組合別的鏡像的一份子),在 Docker 容器啟動的過程中,它以只讀的方式被用于創建容器的運行環境,

容器容器和鏡像一樣,也是若干層的疊加,唯一區別是所有只讀層的最上面一層,是一層可讀可寫層,可以記住這個簡單的公式:容器 = 容器鏡像 + 可讀可寫層

前面說鏡像的時候我們有提到它是一個靜態文件系統,那么既然容器跟它一樣,所以,鏡像跟容器都是一個靜態概念,但是,容器是可以run起來的,當容器run起來時,就會成為一個被稱作運行態容器的東西,

運行態容器(run container)是由靜態容器(可讀寫的靜態文件系統)、一個隔離的進程空間、以及運行于其中的程序進程所組成。我們通常用docker run運行起來的其實就是運行態容器,而使用docker stop停止后的容器,就是靜態容器

倉庫倉庫(Repository)是最易理解的部分,大家都用過Node的包管理Npm,這個概念是一致的,倉庫分為兩種,本地及遠程,當我們build好一個鏡像后,這個鏡像會先存放到本地倉庫,當我們需要利用網絡進行分發時,我們可以push到遠程倉庫,后續通過網絡下載使用

官方的npm源下載有時候特別慢,這個是由于XX的原因,然后我們就需要使用國內的鏡像源,那么docker 的操作也是一樣的

容器技術的特性

一種技術的采用,一定有它適合的場景和優勢。容器技術的流行原因,總結下來可能主要歸功于以下的這些特性

輕量級(只打包必要的lib/bin)

秒布署(毫秒與秒之間)

易移植(「Build?once,Run?anywhere」)

彈性伸縮(高可用,節約成本)

總結

通過本文我們對Docker有了一個基本的認識, 知道了Docker Logo并不是一條咸魚,容器技術與虛擬技術之間的差異,Docker的三大核心概念及其特性

但Docker中涉及的內容遠不止于此,帥編也會在下個章節為大家講解“實際工作場景中的Docker應用”
責任編輯:pj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11457

    瀏覽量

    212767
  • 服務器
    +關注

    關注

    13

    文章

    9683

    瀏覽量

    87271
  • 容器技術
    +關注

    關注

    1

    文章

    21

    瀏覽量

    5673
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Linux文件系統打包及鏡像制作,觸覺智能RK3562開發板演示

    本文介紹Linux開發板文件系統打包及鏡像制作的方法,演示Linux文件系統打包及鏡像制作,適用于想將配置好的系統環境打包成
    的頭像 發表于 04-28 16:45 ?228次閱讀
    Linux<b class='flag-5'>文件系統</b>打包及<b class='flag-5'>鏡像</b>制作,觸覺智能RK3562開發板演示

    rootfs鏡像制作其實沒那么難

    在嵌入式Linux開發中,文件系統的打包和鏡像制作是關鍵步驟。本文介紹了Linux核心板文件系統的打包與鏡像制作方法,適合嵌入式開發人員快速上手。前言致遠電子Linux核心板提供的
    的頭像 發表于 04-03 11:37 ?321次閱讀
    rootfs<b class='flag-5'>鏡像</b>制作其實沒那么難

    如何正確選擇嵌入式文件系統

    操作系統,由于有文件系統以及緩存的存在,在數據存儲方面的使用注意事項比單片機直接寫存儲器的應用會有更多的要求才能達到數據的穩定可靠。如下都是比較常見的異常:系統沒有正常
    的頭像 發表于 03-17 11:35 ?428次閱讀
    如何正確選擇嵌入式<b class='flag-5'>文件系統</b>?

    NFS網絡文件系統深度解析

    NFS:Network File System 網絡文件系統,基于內核的文件系統。Sun 公司開發,通過使用 NFS,用戶和程序可以像訪問本地文件
    的頭像 發表于 03-01 14:15 ?554次閱讀

    基于HPM_SDK_ENV開發應用程序的升級處理

    基于HPM_SDK_ENV開發應用程序的方式HPM_SDK_ENV是先楫半導體MCU的Windows集成開發環境,其包含HPM_SDK,工具鏈,依賴工具(cmake,ninja,openocd等
    的頭像 發表于 02-08 13:38 ?908次閱讀
    基于HPM_SDK_ENV開發<b class='flag-5'>應用程序</b>的升級處理

    防止根文件系統破壞,OverlayRootfs 讓你的設備更安全

    多個文件系統層合并成的視圖,在Linux系統中廣泛應用。使用OverlayRootfs的設備可以很輕松的實現:根
    的頭像 發表于 01-08 16:33 ?1158次閱讀
    防止根<b class='flag-5'>文件系統</b>破壞,OverlayRootfs 讓你的設備更安全

    Jtti:Linux中虛擬文件系統和容器化的關系

    資源。在這種架構下,VFS 提供了容器和宿主機之間、以及容器之間對文件系統的統訪問接口。 1.容器和文件系統的關系 容器化技術(如 Docker、Podman)使得多個
    的頭像 發表于 11-27 15:38 ?410次閱讀

    服務器數據恢復—raid5陣列+reiserfs文件系統數據恢復案例

    位置有空的reiserfs超級塊。 用戶方需要恢復reiserfs文件系統中所有數據,包含數據庫、網站程序與網頁、OA系統中所有辦公文檔
    的頭像 發表于 11-07 13:15 ?449次閱讀

    Linux根文件系統的掛載過程

    Linux根文件系統(rootfs)是Linux系統中所有其他文件系統和目錄的起點,它是內核啟動時掛載的第一個文件系統
    的頭像 發表于 10-05 16:50 ?836次閱讀

    如何構建Linux根文件系統

    構建Linux根文件系統涉及多個步驟和概念的過程,它對于Linux系統的啟動和運行至關重要。
    的頭像 發表于 10-05 16:47 ?570次閱讀

    想提高開發效率,不要忘記文件系統

    ?同學們都知道,開發過程中文件系統的重要性,同樣的,4G-Cat.1模組的文件系統也非常重要,它通常與數據傳輸速度、存儲效率,以及數據安全性等有非常重要的關系,在應用開發中也非常重要。
    的頭像 發表于 09-21 08:18 ?486次閱讀
    想提高開發效率,不要忘記<b class='flag-5'>文件系統</b>

    [2K300適配OpenharmonyV4.1]根文件系統制作請教

    嘗試更改制作文件格式為ext4,但是燒錄時也失敗了。 請問能否提供下Openharmony 根文件系統相關資料,或者開源下Openha
    發表于 09-11 11:18

    如何修改buildroot和debian文件系統

    本文檔主要介紹在沒有編譯環境的情況下,如何修改buildroot和debian文件系統方法,如在buildroot文件系統中添加文件、修改目錄等文件操作,在debian
    的頭像 發表于 07-22 17:46 ?790次閱讀
    如何修改buildroot和debian<b class='flag-5'>文件系統</b>

    linux--sysfs文件系統

    sysfs文件系統 sysfs,全稱為System Filesystem,是由Linux內核實現的虛擬文件系統。它扮演著
    的頭像 發表于 07-08 11:37 ?1413次閱讀
    linux--sysfs<b class='flag-5'>文件系統</b>

    鴻蒙開發文件管理:【@ohos.statfs (statfs)】

    該模塊提供文件系統相關存儲信息的功能,向應用程序提供獲取文件系統總字節數、空閑字節數的JS接口。
    的頭像 發表于 06-13 09:46 ?481次閱讀
    鴻蒙開發<b class='flag-5'>文件</b>管理:【@ohos.statfs (statfs)】