當前位置:首頁 » 存儲配置 » docker共享存儲

docker共享存儲

發布時間: 2024-02-07 00:28:49

❶ 雲計算核心技術Docker教程:Docker存儲寫入時復制(CoW)策略

【點擊右上角加'關注',全國產經信息不錯過】

寫時復制是一種共享和復制文件的策略,可最大程度地提高效率。如果文件或目錄位於映像的較低層中,而另一層(包括可寫層)需要對其進行讀取訪問,則它僅使用現有文件。另一層第一次需要修改文件時(在構建映像或運行容器時),將文件復制到該層並進行修改。這樣可以將I / O和每個後續層的大小最小化。這些優點將在下面更深入地說明。

共享可以提升較小的圖像

當您用於docker pull從存儲庫中下拉映像時,或者當您從本地尚不存在的映像中創建容器時,每個層都會被分別下拉,並存儲在Docker的本地存儲區域中,該區域通常/var/lib/docker/在Linux主機上。在此示例中,您可以看到這些層被拉出:

$ docker pull ubuntu:18.04

18.04: Pulling from library/ubuntu

f476d66f5408: Pull complete

8882c27f669e: Pull complete

d9af21273955: Pull complete

f5029279ec12: Pull complete

Digest: sha256:

Status: Downloaded newer image for ubuntu:18.04

這些層中的每一層都存儲在Docker主機的本地存儲區域內的自己的目錄中。要檢查文件系統上的各層,請列出的內容/var/lib/docker/。本示例使用overlay2 存儲驅動程序:

$ ls /var/lib/docker/overlay2

l

目錄名稱與層ID不對應(自Docker 1.10開始就是如此)。

現在,假設您有兩個不同的Dockerfile。您使用第一個創建名為的圖像acme/my-base-image:1.0。

# syntax=docker/dockerfile:1

FROM ubuntu:18.04

COPY . /app

第二acme/my-base-image:1.0層基於,但具有一些附加層:

# syntax=docker/dockerfile:1

FROM acme/my-base-image:1.0

CMD /app/hello.sh

第二個圖像包含第一個圖像的所有層,再加上帶有CMD指令的新層,以及一個可讀寫容器層。Docker已經具有第一個映像中的所有層,因此不需要再次將其拉出。這兩個圖像共享它們共有的任何圖層。

如果從兩個Dockerfile構建映像,則可以使用docker image ls和 docker history命令來驗證共享層的密碼ID是否相同。

1.創建一個新目錄cow-test/並更改到該目錄中。

2.在中cow-test/,創建一個hello.sh具有以下內容的新文件:

#!/bin/sh

echo "Hello world"

保存文件,並使其可執行:

chmod +x hello.sh

3.將上面第一個Dockerfile的內容復制到一個名為的新文件中 Dockerfile.base。

4.將上面第二個Dockerfile的內容復制到一個名為的新文件中 Dockerfile。

5.在cow-test/目錄中,構建第一個映像。不要忘記.在命令中包含final 。設置了PATH,它告訴Docker在哪裡尋找需要添加到映像中的任何文件。

$docker build -t acme/my-base-image:1.0 -f Dockerfile.base .

6.建立第二張鏡像。

$docker build -t acme/my-final-image:1.0 -f Dockerfile .

7.檢查鏡像的大小:

$docker image ls

8.檢出構成每個鏡像的圖層:

$docker history bd09118bcef6

請注意,除了第二個圖像的頂層以外,所有層都是相同的。所有其他層在兩個圖像之間共享,並且僅在中存儲一次/var/lib/docker/。實際上,新層根本不佔用任何空間,因為它不更改任何文件,而僅運行命令。

全國產經平台聯系電話:010-65367702,郵箱:[email protected],地址:北京市朝陽區金台西路2號人民日報社

熱點內容
安卓光遇版本怎麼看 發布:2024-11-28 06:29:52 瀏覽:870
oraclesql加密 發布:2024-11-28 06:29:15 瀏覽:900
圖片緩存工具 發布:2024-11-28 06:29:15 瀏覽:962
有文件夾刪不掉怎麼辦 發布:2024-11-28 06:22:50 瀏覽:526
python3怎麼用 發布:2024-11-28 06:10:58 瀏覽:255
安卓盒子內存小怎麼辦 發布:2024-11-28 06:10:57 瀏覽:809
車企減配哪些配置好 發布:2024-11-28 05:55:18 瀏覽:674
傳說對決上傳照片 發布:2024-11-28 05:49:18 瀏覽:465
解壓筆怎麼畫 發布:2024-11-28 05:49:17 瀏覽:518
預編譯查詢 發布:2024-11-28 05:32:35 瀏覽:313