欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

查找每個Docker鏡像的層和層大小的兩種方法

 更新時間:2023年10月09日 10:37:34   作者:極客  
本文主要介紹了查找每個Docker鏡像的層和層大小的兩種方法,這對于識別可能導致鏡像整體大小的大型層,以及確定哪些層可以被刪除或優(yōu)化以減少鏡像的大小是非常有用的,感興趣的可以了解一下

簡介

通過使用容器化,我們可以快速設置和配置我們的部署環(huán)境,這有助于我們節(jié)省時間和資源。考慮到 “一次編寫,隨地部署 “的目標,容器化可以幫助我們簡化現(xiàn)代應用程序的部署過程,而這可能是復雜的。

尋找Docker鏡像的層和層大小

在這篇文章中,我們將探討如何找到每個Docker鏡像的層和層大小。這對于識別可能導致鏡像整體大小的大型層,以及確定哪些層可以被刪除或優(yōu)化以減少鏡像的大小是非常有用的。

方法

  • 使用Dockerfile

  • 使用Docker Image Inspect命令

讓我們詳細了解其中的每一項,并通過實例看到它們的作用。

使用Dockerfile

示例

第1步 – 為你的項目創(chuàng)建一個新的目錄,并導航到該目錄 —

$ mkdir directoryname 
$ cd directoryname

第2步 – 在這個新目錄下制作一個名為 “Dockerfile “的文件,內(nèi)容如下 —

FROM alpine:latest 
RUN apk add --no-cache curl

這包括建立你的圖像的說明以及基本圖像。

第3步 – 在終端運行docker build命令,使用Dockerfile構建鏡像—-。

docker build -t myimage .

第4步 – 要檢查圖層和圖層大小,在終端運行docker images命令,列出系統(tǒng)中所有可用的圖像–

docker images

輸出

REPOSITORY        TAG      IMAGE ID       CREATED        SIZE
myimage           latest   499a9ddb3acd   2 minutes ago  9.29MB
docker-apps       latest   eb6dda32a60d   3 hours ago    176MB
docker101tutorial latest   1ebfcd22ec64   3 hours ago    47MB
ubuntu            latest   6b7dfa7e8fdb   4 weeks ago    77.8MB
alpine/git        latest   22d84a66cda4   7 weeks ago    43.6MB

第5步 – 在終端運行docker inspect命令來檢查鏡像并獲得其細節(jié),包括層和它們的大小。

docker inspect IMAGE_ID

輸出

docker inspect 499a9ddb3acd
[
   {
      "Id": "sha256:499a9ddb3acdf2117fdb4df826e0782d05d01aa8d1c0574c96e7bed6fbbcf698",
      "RepoTags": [
         "myimage:latest"
      ],
      "RepoDigests": [],
      "Parent": "",
      "Comment": "buildkit.dockerfile.v0",
      "Created": "2023-01-08T07:49:58.294267525Z",
      "Container": "",
      "ContainerConfig": {
         "Hostname": "",
         "Domainname": "",
         "User": "",
         "AttachStdin": false,
         "AttachStdout": false,
         "AttachStderr": false,
         "Tty": false,
         "OpenStdin": false,
         "StdinOnce": false,
         "Env": null,
         "Cmd": null,
         "Image": "",
         "Volumes": null,
         "WorkingDir": "",
         "Entrypoint": null,
         "OnBuild": null,
         "Labels": null
      },
      "DockerVersion": "",
      "Author": "",
      "Config": {
         "Hostname": "",
         "Domainname": "",
         "User": "",
         "AttachStdin": false,
         "AttachStdout": false,
         "AttachStderr": false,
         "Tty": false,
         "OpenStdin": false,
         "StdinOnce": false,
         "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
         ],
         "Cmd": [
            "/bin/sh"
         ],
         "Image": "",
         "Volumes": null,
         "WorkingDir": "",
         "Entrypoint": null,
         "OnBuild": null,
         "Labels": null
      },
      "Architecture": "amd64",
      "Os": "linux",
      "Size": 9292948,
      "VirtualSize": 9292948,
      "GraphDriver": {
         "Data": {
            "LowerDir": "/var/lib/docker/overlay2/e4c1f1bb76c66c5d1781a775c8a2ca9338065ea0b398aeaed4230a00a15d2952/diff",
            "MergedDir": "/var/lib/docker/overlay2/osfaf1c97lm7awgfbaqibrt6p/merged",
            "UpperDir": "/var/lib/docker/overlay2/osfaf1c97lm7awgfbaqibrt6p/diff",
            "WorkDir": "/var/lib/docker/overlay2/osfaf1c97lm7awgfbaqibrt6p/work"
         },
         "Name": "overlay2"
      },
      "RootFS": {
         "Type": "layers",
         "Layers": [
            "sha256:ded7a220bb058e28ee3254fbba04ca90b679070424424761a53a043b93b612bf",
            "sha256:19bc0373c06b6727c115ef34961486b1a9f3b7c8ccbd3441c4b108aeef2b338d"
         ]
      },
      "Metadata": {
         "LastTagTime": "2023-01-08T07:49:58.412703277Z"
      }
   }
]

使用Docker Image Inspect命令

“docker image inspect “命令允許我們探索關于Docker鏡像的全面細節(jié),比如它的層數(shù)和大小。

下面的步驟可以用來獲得Docker鏡像的層和層大小——。

第1步 – 通過打開終端或命令提示符,進入包含你的Docker鏡像的目錄。

第2步 – 要查看所有可訪問的Docker鏡像,請在終端運行以下命令 —

docker image ls

輸出

REPOSITORY         TAG     IMAGE ID       CREATED           SIZE
myimage           latest   499a9ddb3acd   17 minutes ago    9.29MB
docker-apps       latest   eb6dda32a60d   3 hours ago       176MB
docker101tutorial latest   1ebfcd22ec64   3 hours ago       47MB
ubuntu            latest   6b7dfa7e8fdb   4 weeks ago       77.8MB
alpine/git        latest   22d84a66cda4   7 weeks ago       43.6MB

第3步 – 選擇你想檢查的圖像,并記下你之前輸出的ID。在這個例子中,我們將利用ID為 “499a9ddb3acd “的圖像。

第4步

docker image inspect 499a9ddb3acd

輸出

docker image inspect 499a9ddb3acd
[
   {
      "Id": "sha256:499a9ddb3acdf2117fdb4df826e0782d05d01aa8d1c0574c96e7bed6fbbcf698",
      "RepoTags": [
         "myimage:latest"
      ],
      "RepoDigests": [],
      "Parent": "",
      "Comment": "buildkit.dockerfile.v0",
      "Created": "2023-01-08T07:49:58.294267525Z",
      "Container": "",
      "ContainerConfig": {
         "Hostname": "",
         "Domainname": "",
         "User": "",
         "AttachStdin": false,
         "AttachStdout": false,
         "AttachStderr": false,
         "Tty": false,
         "OpenStdin": false,
         "StdinOnce": false,
         "Env": null,
         "Cmd": null,
         "Image": "",
         "Volumes": null,
         "WorkingDir": "",
         "Entrypoint": null,
         "OnBuild": null,
         "Labels": null
      },
      "DockerVersion": "",
      "Author": "",
      "Config": {
         "Hostname": "",
         "Domainname": "",
         "User": "",
         "AttachStdin": false,
         "AttachStdout": false,
         "AttachStderr": false,
         "Tty": false,
         "OpenStdin": false,
         "StdinOnce": false,
         "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
         ],
         "Cmd": [
            "/bin/sh"
         ],
         "Image": "",
         "Volumes": null,
         "WorkingDir": "",
         "Entrypoint": null,
         "OnBuild": null,
         "Labels": null
      },
      "Architecture": "amd64",
      "Os": "linux",
      "Size": 9292948,
      "VirtualSize": 9292948,
      "GraphDriver": {
         "Data": {
            "LowerDir": "/var/lib/docker/overlay2/e4c1f1bb76c66c5d1781a775c8a2ca9338065ea0b398aeaed4230a00a15d2952/diff",
            "MergedDir": "/var/lib/docker/overlay2/osfaf1c97lm7awgfbaqibrt6p/merged",
            "UpperDir": "/var/lib/docker/overlay2/osfaf1c97lm7awgfbaqibrt6p/diff",
            "WorkDir": "/var/lib/docker/overlay2/osfaf1c97lm7awgfbaqibrt6p/work"
         },
         "Name": "overlay2"
      },
      "RootFS": {
         "Type": "layers",
         "Layers": [
            "sha256:ded7a220bb058e28ee3254fbba04ca90b679070424424761a53a043b93b612bf",
            "sha256:19bc0373c06b6727c115ef34961486b1a9f3b7c8ccbd3441c4b108aeef2b338d"
         ]
      },
      "Metadata": {
         "LastTagTime": "2023-01-08T07:49:58.412703277Z"
      }
   }
]

第5步 – 輸出將是一個JSON對象,包含關于圖像的詳細信息,包括它的圖層和圖層在終端的大小。

docker image inspect --format='{{json .RootFS.Layers}}' 499a9ddb3acd

在終端的輸出中會產(chǎn)生一個圖像的層和它們的尺寸的列表。

輸出

["sha256:ded7a220bb058e28ee3254fbba04ca90b679070424424761a53a043b93b612bf","sha256:19bc0373c06b6727c115ef34961486b1a9f3b7c8ccbd3441c4b108aeef2b338d"]

結(jié)論

在這篇文章中,我們探討了尋找每個Docker鏡像的層和層大小的各種方法。通過使用Dockerfile方法,我們可以通過檢查用于構建鏡像的指令來查看層和大小。Docker歷史命令允許我們查看鏡像的歷史,并看到層和它們的大小。Docker圖像檢查命令也提供了關于圖像的層和大小的詳細信息。

到此這篇關于查找每個Docker鏡像的層和層大小的兩種方法的文章就介紹到這了,更多相關Docker鏡像層大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker 網(wǎng)絡模式(四種)詳細介紹

    Docker 網(wǎng)絡模式(四種)詳細介紹

    這篇文章主要介紹了Docker 網(wǎng)絡模式詳細介紹的相關資料,這里提供了四種網(wǎng)絡模式的介紹,Docker 作為輕量級容器技術,很多比較不錯的功能,網(wǎng)絡不是多好,這里就整理下,需要的朋友可以參考下
    2016-11-11
  • 在Docker中使用Redis的步驟詳解

    在Docker中使用Redis的步驟詳解

    這篇文章主要給大家介紹了關于如何在Docker中使用Redis的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-08-08
  • 詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2

    詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2

    這篇文章主要介紹了詳解CentOS7用阿里云Docker Yum源在線安裝Docker 17.03.2,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • 使用Docker Swarm 搭建Wordpress的方法

    使用Docker Swarm 搭建Wordpress的方法

    這篇文章主要介紹了使用Docker Swarm 搭建Wordpress的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • docker部署kafka的方法步驟

    docker部署kafka的方法步驟

    本文主要介紹了docker部署kafka的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Docker部署RabbitMQ鏡像的保姆級教程

    Docker部署RabbitMQ鏡像的保姆級教程

    RabbitMQ?的鏡像隊列集群(Mirrored?Queues?Cluster)是實現(xiàn)高可用性的一種模式,它通過在集群中的多個節(jié)點之間復制隊列,確保消息在集群的某些節(jié)點宕機時不會丟失,本文介紹了Docker部署RabbitMQ鏡像的保姆級教程,需要的朋友可以參考下
    2024-12-12
  • docker鏡像倉庫hub.docker.com無法訪問的解決方法

    docker鏡像倉庫hub.docker.com無法訪問的解決方法

    最近許多群友都詢問為什么無法訪問Docker鏡像倉庫,本文就來介紹一下docker鏡像倉庫hub.docker.com無法訪問的解決方法,感興趣的可以了解一下
    2023-08-08
  • Docker快速部署國產(chǎn)達夢數(shù)據(jù)庫的實現(xiàn)示例

    Docker快速部署國產(chǎn)達夢數(shù)據(jù)庫的實現(xiàn)示例

    本文主要介紹了Docker快速部署國產(chǎn)達夢數(shù)據(jù)庫的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • docker-compose啟動redis多機集群的實現(xiàn)(6臺服務器3主3從)

    docker-compose啟動redis多機集群的實現(xiàn)(6臺服務器3主3從)

    本文主要介紹了docker-compose啟動redis多機集群的實現(xiàn)(6臺服務器3主3從),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Docker之限制容器的資源使用過程

    Docker之限制容器的資源使用過程

    這篇文章主要介紹了Docker之限制容器的資源使用過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評論