<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                >[info] docker分層理解 * **分層鏡像** 我們可以下載一個鏡像,注意觀察下載的日志輸出,可以看到是一層一層的在下載! ![](https://img.kancloud.cn/83/c7/83c75e0abd7d0973acfbd244f4451c09_843x270.png) ![](https://img.kancloud.cn/39/68/3968558b823e635de1013987c611c031_811x248.png) ***** **思考:** 為什么Docker鏡像要采用這種分層的結構呢? 最大的好處,我覺得莫過于是資源共享了!比如有多個鏡像都從相同的Base鏡像構建而來,那么宿主機只需在磁盤上保留一份base鏡像,同時內存中也只需要加載一份base鏡像,,這樣就可以為所有的容器服務了,而且鏡像的每一層都可以被共享。 查看鏡像分層的方式可以通過 `docker image inspect 鏡像:[tag]` 命令! ![](https://img.kancloud.cn/b3/d1/b3d1a88875b7f509d56345f74e7fd7c6_849x270.png) ***** **理解:** 所有的Docker鏡像都起始于一個基礎鏡像層 ,當進行修改或增加新的內容時,就會在當前鏡像層之上,創建新的鏡像層。 舉一個簡單的例子,假如基于Ubuntu Linux 16.04創建-個新的鏡像 ,這就是新鏡像的第一層;如果在該鏡像中添加Python包,就會在基礎鏡像層之上創建第二個鏡像層;如果繼續添加一個安全補丁, 就會創建第三個鏡像層。 該鏡像當前已經包含3個鏡像層,如下圖所示(這只是一個用于演示的很簡單的例子)。 ![](https://img.kancloud.cn/66/48/66483c519bc62b0e33a1aa6c3f82a7a8_552x347.png) 在添加額外的鏡像層的同時,鏡像始終保持是當前所有鏡像的組合,理解這一點非常重要。 下圖中舉 了一個簡單的例子,每個鏡像層包含3個文件,而鏡像包含了來自兩個鏡像層的6個文件。 ![](https://img.kancloud.cn/a1/80/a18031bf29eb193d5e19d8ea36b208bf_551x291.png) 上圖中的鏡像層跟之前圖中的略有區別,主要目的是便于展示文件。 下圖中展示了一個稍微復雜的三層鏡像,在外部看來整個鏡像只有6個文件,這是因為最上層中的文件7是文件5的一個更新版本。 ![](https://img.kancloud.cn/99/5e/995ef99fa0e9f30a592db670cd6262f3_550x393.png) 這種情況下,上層鏡像層中的文件覆蓋了底層鏡像層中的文件。這樣就使得文件的更新版本作為一個新鏡像層添加到鏡像當中。 Docker通過存儲引擎(新版本采用快照機制)的方式來實現鏡像層堆棧,并保證多鏡像層對外展示為統一的文件系統。 Linux上可用的存儲引擎有AUFS、Overlay2、 Device Mapper. Btrfs 以及ZFS。顧名思義,每種存儲引擎都基于Linux 中對應的文件系統或者塊設備技術,并且每種存儲引擎都有其獨有的性能特點。 Docker在Windows.上僅支持windowsfilter 一種存儲引擎,該引擎基于NTFS文件系統之上實現了分層和CoW[1]。 下圖展示了與系統顯示相同的三層鏡像。所有鏡像層堆疊并合并,對外提供統一的視圖。 ![](https://img.kancloud.cn/17/07/1707e5d4aebba1e2c1f327cb2471721c_653x199.png) ***** * **特點:** Docker 鏡像都是只讀的,當容器啟動時,一個新的可寫層被加載到鏡像的頂部! 這一層就是我們通常說的容器層,容器之下的都叫鏡像層! ![](https://img.kancloud.cn/56/4f/564f38d47e216b02e7197d5a3c8ba125_954x191.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看