docker基础命令镜像篇

docker [image] pull NAME [ :TAG]
其中, NAME 是镜像仓库名称(用来区分镜像), TAG 是镜像的标签(往往用来表示版本信息) 。 通常情况下, 描述 一 个镜像需要包括名称+标签信息。
获取一个 Ubuntu 18.04 系统的基础镜像可以使用如下的命令:
$ docker pull ubuntu: 18. 04
对于Docker镜像
来说, 如果不显式指定TAG, 则默认会选择la迳釭标签,这会下载
仓库中最新版本的镜像。
下载镜像到本地后, 即可随时使用该镜像了, 例如利用该镜像创建一个容器,在其中运
行bash应用, 执行打印 "Hello World"命令:

root@hk:~# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
d51af753c3d3: Pull complete 
fc878cd0a91c: Pull complete 
6154df8ff988: Pull complete 
fee5db0ff82f: Pull complete 
Digest: sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7
Status: Downloaded newer image for ubuntu:latest
root@hk:~# docker run -it ubuntu bash
root@4d1611828829:/# echo "Hello World"
Hello World
root@4d1611828829:/# exit
exit
root@hk:~# 

查看镜像信息

使用docker images或docker image ls 命令可以列出本地主机上已有镜像的基本信息。

root@hk:~# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              1d622ef86b13        3 weeks ago         73.9MB

在列出信息中, 可以看到几个字段信息:
D 来自于哪个仓库, 比如 ubuntu 表示 ubuntu 系列的基础镜像;
D 镜像的标答信息, 比如 18.04 、 latest 表示不同的版本信息。 标签只是标记, 并不能标
识镜像内容;
D镜像的ID (唯一标识镜像), 如果两个镜像的ID 相同, 说明它们实际上指向了同一
个镜像, 只是具有不同标签名称而已;
D创建时间, 说明镜像最后的更新时间;
D镜像大小, 优秀的镜像往往体积都较小。

为了方便在后续工作中使用特定镜像,还可以使用docker tag命令来为本地镜像任意添加新的标签。

root@hk:~# docker tag ubuntu:latest myubuntu:latest
root@hk:~# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
myubuntu            latest              1d622ef86b13        3 weeks ago         73.9MB
ubuntu              latest              1d622ef86b13        3 weeks ago         73.9MB

使用docker巨mage]inspect命令可以获取该镜像的详细信息,包括制作者 、 适应
架构、各层的数字摘要等

root@hk:~# docker inspect myubuntu:latest 
[
    {
        "Id": "sha256:1d622ef86b138c7e96d4f797bf5e4baca3249f030c575b9337638594f2b63f01",
        "RepoTags": [
            "myubuntu:latest",
            "ubuntu:latest"
        ],
        "RepoDigests": [
            "ubuntu@sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2020-04-24T01:07:51.928109369Z",
        "Container": "8f0a86e65abdb09f6eeffc565fe6cf5ddf1213b5b14ce1ec92caa0347ee56901",
        "ContainerConfig": {
            "Hostname": "8f0a86e65abd",
            "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:8a6a781e255205d6bf9b529aea2aad5ad73780863dc4efaa62501dd806b5ed57",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.09.7",
        "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:8a6a781e255205d6bf9b529aea2aad5ad73780863dc4efaa62501dd806b5ed57",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 73852122,
        "VirtualSize": 73852122,
        "GraphDriver": {
            "Data": null,
            "Name": "aufs"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:7789f1a3d4e9258fbe5469a8d657deb6aba168d86967063e9b80ac3e1154333f",
                "sha256:9e53fd4895597d04f8871a68caea4c686011e1fbd0be32e57e89ada2ea5c24c4",
                "sha256:2a19bd70fcd4ce7fd73b37b1b2c710f8065817a9db821ff839fe0b4b4560e643",
                "sha256:8891751e0a1733c5c214d17ad2b0040deccbdea0acebb963679735964d516ac2"
            ]
        },
        "Metadata": {
            "LastTagTime": "2020-05-19T14:02:15.187927921+08:00"
        }
    }
]

既然镜像文件由多个层组成, 那么怎么知道各个层的内容具体是什么呢?这时候可以使
用history子命令, 该命令将列出各层的创建信息。

root@hk:~# docker history ubuntu:latest 
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
1d622ef86b13        3 weeks ago         /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B                  
<missing>           3 weeks ago         /bin/sh -c mkdir -p /run/systemd && echo 'do…   7B                  
<missing>           3 weeks ago         /bin/sh -c set -xe   && echo '#!/bin/sh' > /…   811B                
<missing>           3 weeks ago         /bin/sh -c [ -z "$(apt-get indextargets)" ]     1.01MB              
<missing>           3 weeks ago         /bin/sh -c #(nop) ADD file:a58c8b447951f9e30…   72.8MB 

使用 docker官方仓库中的镜像。 语法为 docker search [op巨on]keyword
search 命令可以搜索 。

使用 docker rmi 或rmi IMAGE docker [IMAGE … ],imagerm 命令可以删除镜像,
命令格式为 docker
其中 IMAGE 可以为标签或 ID 。

root@hk:~# docker rmi myubuntu:latest 
Untagged: myubuntu:latest

使用docker ps -a命令可以看到本机上存在的所有容器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值