使用Docker之鏡像的拉取、查詢、刪除


1:查看鏡像列表

2:拉取鏡像

   通過命令可以從鏡像倉庫中拉取鏡像,默認從Docker Hub 獲取。

   命令格式:

   docker image pull <repository>:<tag>

 

  拉取ubuntu倉庫,標簽為 latest 的鏡像,如果省略標簽,則docker 會拉取標簽為latest的鏡像。獲取非官方鏡像的命令類似,例如:

  docker image pull microsoft/dotnet:latest  

  docker image pull -a  nigelpoulton/tu-demo    //添加 -a 參數可以拉取倉庫中所有鏡像

3:docker image ls 詳解

     docker image ls --filter [dangling|before|since|lable|reference]

     dangling: 值為true或false,true 僅返回懸虛鏡像,false僅返回非懸虛鏡像。懸虛鏡像:指沒有標簽的鏡像。

 

  before:需要鏡像名或鏡像ID作為參數,返回之前創建的全部鏡像。

 

since:需要鏡像名或鏡像ID作為參數,返回之后創建的全部鏡像。

lable:根據標注的名稱或值過濾。略

reference:根據repository和tag搜索,貌似*只能搜一級空間的鏡像

4:搜索鏡像

 按照官方或非官方過濾,使用 --filter "is-official=true|false"

 docker search ubuntu --filter "is-official=true"  //只顯示官方鏡像

 顯示是否為自動創建的鏡像

 docker search ubuntu --filter "is-automated=true"  //只自動創建的倉庫

5:查看鏡像分層

    輸入命令:docker image inspect ubuntu:latest

    輸出:

    [
    {
        "Id": "sha256:3556258649b2ef23a41812be17377d32f568ed9f45150a26466d2ea26d926c32",
        "RepoTags": [
            "ubuntu:latest"
        ],
        "RepoDigests": [
            "ubuntu@sha256:c303f19cfe9ee92badbbbd7567bc1ca47789f79303ddcef56f77687d4744cd7a"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2019-07-23T15:21:13.01464074Z",
        "Container": "3b0e1c94bfe8f2670577cad66142287be14f02c7e49e9d1710073f6b8733bb48",
        "ContainerConfig": {
            "Hostname": "3b0e1c94bfe8",
            "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",
                "-c",
                "#(nop) ",
                "CMD [\"/bin/bash\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:6dd4850db8211ac5177f2729ad131f65d6472e95248c92b7fb95acfc609794e7",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.06.1-ce",
        "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/bash"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:6dd4850db8211ac5177f2729ad131f65d6472e95248c92b7fb95acfc609794e7",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 64185514,
        "VirtualSize": 64185514,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/mnt/sda1/var/lib/docker/overlay2/a6003e3ac734728a7ac69eb19453892ad619d1d23f246730c1c59e542f1277c6/diff:/mnt/sda1/var/lib/docker/overlay2/25fc962c359839b2565d1208e2558fa0afd676529ee4b18c87e9346466159feb/diff:/mnt/sda1/var/lib/docker/overlay2/5cc4ecda8dabb8415a0e316a09326a04414e5aefe7a5ee885f6af52838ddce91/diff",
                "MergedDir": "/mnt/sda1/var/lib/docker/overlay2/70dbca5fd3a27da47ff110d91b1b146a905b8e741871db773bfb6a5dc65299e3/merged",
                "UpperDir": "/mnt/sda1/var/lib/docker/overlay2/70dbca5fd3a27da47ff110d91b1b146a905b8e741871db773bfb6a5dc65299e3/diff",
                "WorkDir": "/mnt/sda1/var/lib/docker/overlay2/70dbca5fd3a27da47ff110d91b1b146a905b8e741871db773bfb6a5dc65299e3/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:543791078bdb84740cb5457abbea10d96dac3dea8c07d6dc173f734c20c144fe",
                "sha256:c56e09e1bd18e5e41afb1fd16f5a211f533277bdae6d5d8ae96a248214d66baf",
                "sha256:a31dbd3063d77def5b2562dc8e14ed3f578f1f90a89670ae620fd62ae7cd6ee7",
                "sha256:b079b3fa8d1b4b30a71a6e81763ed3da1327abaf0680ed3ed9f00ad1d5de5e7c"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

在json節點RootFS可以看出ubuntu鏡像有四層

 

 6:刪除鏡像

 

 參考書目《深入淺出Docker》    

下一篇 :使用Docker之容器的創建、刪除


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM