首頁 運維 Docker 看看docker鏡像pull下來放在哪裡

看看docker鏡像pull下來放在哪裡

May 13, 2023 pm 06:41 PM

Docker是一個開源的容器技術,可以用來建置、發布和運行應用程式。透過使用Docker映像,使用者可以簡單、快速地下載和安裝預先建置好的應用程式或容器環境。

Docker映像是由多個層(Layer)組成的,每一層都包含了一個檔案系統的快照。當使用者pull下Docker映像時,實際上就是從Docker Registry中取得映像的所有層,並將其組合起來建構成完整的Docker映像。

那麼,Docker映像在本機儲存的位置是什麼呢?本文將為您詳細介紹。

  1. 查看Docker映像清單

首先,我們需要查看目前本機的Docker映像清單。在終端機輸入下方指令:

docker images
登入後複製

執行後,將會列出本機上所有的Docker映像列表,包括映像ID、映像名稱、映像標籤、映像大小等資訊。如下圖所示:

Docker images

從上圖可以看出,每個鏡像都有一個唯一的ID、一個名稱和一些標籤(也稱為版本)。其中,REPOSITORY欄位表示鏡像的名稱,TAG欄位表示鏡像的標籤,IMAGE ID欄位則是該鏡像的唯一識別碼。

  1. 查看Docker映像儲存位置

在Docker中,每個映像都是由多個層(Layer)組成的。因此,當使用者下載或建立Docker映像時,實際上是將映像的所有層下載到本機儲存中。

而在Linux系統中,Docker映像其實是儲存在/var/lib/docker目錄下的。在終端機輸入下方指令:

sudo ls -l /var/lib/docker/
登入後複製

執行後,終端機將會顯示出/var/lib/docker/目錄下所有的檔案和資料夾清單。其中,/var/lib/docker/image資料夾是Docker儲存映像的主要位置。如下圖所示:

看看docker鏡像pull下來放在哪裡

/var/lib/docker/image/overlay2/imagedb/content/sha256目錄下,儲存了所有已下載的Docker映像(以映像ID命名),即所有層的儲存位置。在每個鏡像ID目錄下,都有一個名為「real」或「diff」文件,代表該層的儲存位置。

  1. 確認映像層儲存位置

對於Docker映像的每一層,其儲存位置可以透過執行下面的命令來確認:

docker history <image_name>:<tag>
登入後複製

例如,對於nginx映像,執行指令:

docker history nginx:latest
登入後複製

將會輸出下列結果:

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
84cf8d0a2e04        3 weeks ago         /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  STOPSIGNAL SIGTERM           0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  EXPOSE 80                    0B
<missing>           3 weeks ago         /bin/sh -c ln -sf /dev/stdout /var/log/nginx…   22B
<missing>           3 weeks ago         /bin/sh -c set -x  && apt-get update  && ap…   68.2MB
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NJS_VERSION=2.1.0.6      0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NGINX_VERSION=1.16.1     0B
<missing>           4 weeks ago         /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B
<missing>           4 weeks ago         /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>           4 weeks ago         /bin/sh -c #(nop) ADD file:7fbfce9f6a99e63a5…   63.2MB
登入後複製

其中,每一層的SIZE欄位表示該層的實際佔用空間大小。這個指令輸出結果的第一列就是Docker鏡像每一層的ID,從上到下依序代表鏡像的各個層。

我們可以根據這個指令的輸出結果,確認每一層具體的儲存位置。例如,在上述命令的輸出結果中,最後一列是該層的描述訊息,其中包括了該層的原始命令和參數。

對於nginx鏡像的第一層(ID為“84cf8d0a2e04”),該層的CMD為“CMD ["nginx" "-g" "daemon…””,即啟動nginx服務;對於後面的各層,則是其它一些配置或命令。因此,我們可以大致猜測Docker映像每一層的儲存位置。

  1. 總結

透過上述指令,使用者可以在Linux系統下查看本機儲存的Docker映像。 Docker映像的層以映像ID為資料夾名稱存放在/var/lib/docker/image/overlay2/imagedb/content/sha256目錄中。每一層分別儲存在「real」或「diff」檔案中。

對於每一層映像的儲存位置,可以透過執行docker history指令查看,在輸出結果中尋找該層的描述訊息,從而大致猜測該層的儲存位置。

在使用Docker映像和容器時,了解Docker映像的儲存位置,可以更好地管理本機儲存空間,以及對Docker映像和容器進行備份和復原作業。

以上是看看docker鏡像pull下來放在哪裡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Docker面試問題:Ace您的DevOps工程採訪 Docker面試問題:Ace您的DevOps工程採訪 Apr 06, 2025 am 12:01 AM

Docker是DevOps工程師必備的技能。 1.Docker是開源的容器化平台,通過將應用程序及其依賴打包到容器中,實現隔離和可移植性。 2.Docker的工作原理包括命名空間、控制組和聯合文件系統。 3.基本用法包括創建、運行和管理容器。 4.高級用法包括使用DockerCompose管理多容器應用。 5.常見錯誤有容器無法啟動、端口映射問題和數據持久化問題,調試技巧包括查看日誌、進入容器和查看詳細信息。 6.性能優化和最佳實踐包括鏡像優化、資源限制、網絡優化和使用Dockerfile的最佳實踐。

Docker安全硬化:保護您的容器免受漏洞 Docker安全硬化:保護您的容器免受漏洞 Apr 05, 2025 am 12:08 AM

Docker安全強化的方法包括:1.使用--cap-drop參數限制Linux能力,2.創建只讀容器,3.設置SELinux標籤。這些策略通過減少漏洞暴露面和限制攻擊者能力來保護容器安全。

Docker卷:在容器中管理持久數據 Docker卷:在容器中管理持久數據 Apr 04, 2025 am 12:19 AM

DockerVolumes可確保數據在容器重啟、刪除或遷移時依然安全。 1.創建Volume:dockervolumecreatemydata。 2.運行容器並掛載Volume:dockerrun-it-vmydata:/app/dataubuntubash。 3.高級用法包括數據共享和備份。

將Docker與Linux一起使用:綜合指南 將Docker與Linux一起使用:綜合指南 Apr 12, 2025 am 12:07 AM

在Linux上使用Docker可以提高開發和部署效率。 1.安裝Docker:使用腳本在Ubuntu上安裝Docker。 2.驗證安裝:運行sudodockerrunhello-world。 3.基本用法:創建Nginx容器dockerrun--namemy-nginx-p8080:80-dnginx。 4.高級用法:創建自定義鏡像,使用Dockerfile構建並運行。 5.優化與最佳實踐:使用多階段構建和DockerCompose,遵循編寫Dockerfile的最佳實踐。

高級Docker網絡:掌握橋樑,主機和覆蓋網絡 高級Docker網絡:掌握橋樑,主機和覆蓋網絡 Apr 03, 2025 am 12:06 AM

Docker提供了三種主要的網絡模式:橋接網絡、主機網絡和覆蓋網絡。 1.橋接網絡適用於單主機上的容器間通信,通過虛擬網橋實現。 2.主機網絡適用於需要高性能網絡的場景,容器直接使用主機的網絡棧。 3.覆蓋網絡適用於多主機的DockerSwarm集群,通過虛擬網絡層實現跨主機通信。

Docker群:建築物可擴展和彈性的容器簇 Docker群:建築物可擴展和彈性的容器簇 Apr 09, 2025 am 12:11 AM

DockerSwarm可用於構建可擴展和高可用性的容器集群。 1)初始化Swarm集群使用dockerswarminit。 2)加入Swarm集群使用dockerswarmjoin--token:。 3)創建服務使用dockerservicecreate--namemy-nginx--replicas3nginx。 4)部署複雜服務使用dockerstackdeploy-cdocker-compose.ymlmyapp。

Docker監視:收集指標和跟踪集裝箱健康 Docker監視:收集指標和跟踪集裝箱健康 Apr 10, 2025 am 09:39 AM

Docker監控的核心在於收集和分析容器的運行數據,主要包括CPU使用率、內存使用、網絡流量和磁盤I/O等指標。通過使用Prometheus、Grafana和cAdvisor等工具,可以實現對容器的全面監控和性能優化。

Dockerfile最佳實踐:編寫高效和優化的圖像 Dockerfile最佳實踐:編寫高效和優化的圖像 Apr 02, 2025 pm 02:07 PM

如何打造一個高效且優化的Docker鏡像? 1.選擇合適的基礎鏡像,如官方或Alpine鏡像。 2.合理安排指令順序,利用Docker緩存機制。 3.使用多階段構建減小鏡像大小。 4.最小化鏡像層數,合併RUN指令。 5.清理臨時文件,避免不必要的文件佔用空間。

See all articles