资讯详情

Docker 实战 Image 补充

作者:半身风雪 上一节:Docker 示例更新 简介:我们花了6节来解释Docker 从本节开始,我将正式进入核心知识点、命令等内容Docker 学习的实战环节。


Docker 实战 Image 补充

从Docker Hub 现有有镜像

列出所有镜像

查看镜像配置信息

移除镜像

检查所有镜像操作命令



从Docker Hub 现有有镜像

Docker 镜像(image)它包含了程序代码和程序运行所依赖的所有环境。 Docker 镜像一般存放在镜像仓库服务中(Image Registry)默认的镜像仓库服务是Docker Hub。可制作、构建镜像,将镜像上传到镜像仓库服务,从其他地方从镜像仓库服务中拉取镜像。

从Docker Hub拉取 helloworld 镜像命令:

$ docker image pull library/hello-world

运行结果如下:

列出所有镜像

Docker 镜像(image)它包含了程序代码和程序运行所依赖的所有环境。 Docker 镜像一般存放在镜像仓库服务中(Image Registry)默认的镜像仓库服务是Docker Hub。 用户可以制作、构建镜像,将镜像上传到镜像仓库服务,从其他地方从镜像仓库服务中拉取镜像。

镜像的名字也叫镜像仓库的名字,英语是REPOSITORY,所有镜像所有镜像的命令:

$ docker image ls

输出 hello-world 结果:

查看镜像配置信息

查看镜像配置信息的命令:

$ docker image inspect hello-world

上面的命令操作可以看到镜像启动后会立即执行的命令CMD:

[    {      "Id": "sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412",      "RepoTags": [        "hello-world:latest"      ],      "RepoDigests": [        "hello-world@sha256:13e367d31ae85359f42d637adf6da428f76d75dc9afeb3c21faea0d976f5c651"      ],      "Parent": "",      "Comment": "",      "Created": "2021-09-23T23:47:57.442225064Z",      "Container": "8746661ca3c2f215da94e6d3f7dfdcafaff5ec0b21c9aff6af3dc379a82fbc72",      "ContainerConfig": {        "Hostname": "8746661ca3c2",        "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 [\"/hello\"]"        ],        "Image": "sha256:b9935d4e8431fb1a7f0989304ec86b3329a99a25f5efdc7f09f3f8c41434ca6d",        "Volumes": null,        "WorkingDir": "",        "Entrypoint": null,        "OnBuild": null,        "Labels": {}      },      "DockerVersion": "20.10.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": [          "/hello"        ],        "Image": "sha256:b9935d4e8431fb1a7f0989304ec86b3329a99a25f5efdc7f09f3f8c41434ca6d",        "Volumes": null,        "WorkingDir": "",        "Entrypoint": null,        "OnBuild": null,        "Labels": null      },      "Architecture": "amd64",      "Os": "linux",      "Size": 13256,      "VirtualSize": 13256,      "GraphDriver": {        "Data": {          "MergedDir": "/var/lib/docker/overlay2/cad20b84d6740bbb0dfbe96058268e56843e19e4703a1d328a730ad68605f0e7/merged",          "UpperDir": "/var/lib/docker/overlay2/cad20b84d6740bbb0dfbe96058268e56843e19e4703ad328a730ad68605f0e7/diff",

​        "WorkDir": "/var/lib/docker/overlay2/cad20b84d6740bbb0dfbe96058268e56843e19e4703a1d328a730ad68605f0e7/work"

​      },

​      "Name": "overlay2"

​    },

​    "RootFS": {

​      "Type": "layers",

​      "Layers": [

​        "sha256:e07ee1baac5fae6a26f30cabfe54a36d3402f96afda318fe0a96cec4ca393359"

​      ]

​    },

​    "Metadata": {

​      "LastTagTime": "0001-01-01T00:00:00Z"

​    }

  }

]

移除镜像

可以通过命令docker image rm删除不用的镜像,我们先通过命令查看有哪些镜像。

$ docker image ls

可以看到我们当前所有的镜像:

如果镜像没有被启动过,直接可以使用下面的命令删除成功:(删除 docker/getting-started 镜像)

$ docker image rm cb90f98fd791 

运行如下图:

但是如果镜像被启动了,就会报错:

我们可以通过docker ps命令查看被启动过的镜像状态。

可以看到,其中

  • 横向的红框是ID为09d01ed9156b的镜像启动后的container(参考下一节)的状态

  • 纵向的红框是所有启动的container的当前状态,可以看到图里的都处于Exited的退出状态。

查看所有的镜像操作命令

除了上面介绍的一些命令,我们也可以查看 docker image 的所有命令:

$ docker image

运行结果如下:

标签: d01轴瓦振动变送器xcbsq

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台