
一、查看镜像信息
查看镜像的命令通常有:images、tag和inspect子命令。
1.使用images命令列出本地镜像
使用docker images 命令可以列出本地主机上已有镜像的基本信息。

REPOSITORY:表示来自于哪个仓库。
TAG:表示镜像的标签信息,标签只是标记,并不能标识镜像内容。
IMAGE ID:镜像ID,镜像的唯一标识,如果两个镜像ID相同,则说明它们实际上指向了同一个镜像,只是具有不同标签名而已。
CREATED:表示镜像最后的更新时间。
VIRTUAL SIZE:表示镜像大小,好的镜像往往体积会较小。
2.使用tag命令为镜像添加标签
为了方便在后续工作中使用特定镜像,还可以使用docker tag命令为本地镜像任意添加新的标签。

其中test_redis和redis镜像的ID号是相同的,其实对应的是同一个镜像,只是使用不同的标签而已。
3.使用inspect命令查看镜像详细信息
使用inspect命令可以获取镜像的详细信息,包括制作者、适应架构、各层的数字摘要等。
命令的语法如下:
docker inspect 镜像名[root@localhost ~]# docker inspect redis [{ "Id": "a6edd7a55846043cdc25121900dee5f244334c08ddcfd9995bed9708395dac3a","Parent":"5b5acb53ad733373bc3d6bbb1169d84892c42cd871c16041b9fe38126dd2d658","Comment": "","Created": "2021-08-17T14:30:06.550779326Z","Container":"fa59f1c2817c9095f8f7272a4ab9b11db0332b33efb3a82c00a3d1fec8763684","ContainerConfig": {"Hostname": "fa59f1c2817c","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"PortSpecs": null,"ExposedPorts": {"6379/tcp": {}},"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "GOSU_VERSION=1.12", "REDIS_VERSION=6.2.5", "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis- 6.2.5.tar.gz", "REDIS_DOWNLOAD_SHA=4b9a75709a1b74b3785e20a6c158cab94cf52298aa381eea947a678a60d5 51ae" ],"Cmd": ["/bin/sh","-c","#(nop) ","CMD [\"redis-server\"]"],"Image":"sha256:befbd3fc62bffcd0115008969a014faaad07828b2c54b4bcfd2d9fc3aa2508cd","Volumes": {"/data": {}},"VolumeDriver": "","WorkingDir": "/data","Entrypoint": ["docker-entrypoint.sh"],"NetworkDisabled": false,"MacAddress": "","OnBuild": null,"Labels": {} },"DockerVersion": "20.10.7","Author": "","Config": {"Hostname": "","Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"PortSpecs": null,"ExposedPorts": {"6379/tcp": {}},"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","GOSU_VERSION=1.12","REDIS_VERSION=6.2.5","REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis- 6.2.5.tar.gz","REDIS_DOWNLOAD_SHA=4b9a75709a1b74b3785e20a6c158cab94cf52298aa381eea947a678a60d5 51ae"],"Cmd": [ "redis-server"],"Image":"sha256:befbd3fc62bffcd0115008969a014faaad07828b2c54b4bcfd2d9fc3aa2508cd","Volumes": {"/data": {}},"VolumeDriver": "","WorkingDir": "/data","Entrypoint": ["docker-entrypoint.sh"],"NetworkDisabled": false,"MacAddress": "","OnBuild": null,"Labels": null},"Architecture": "amd64","Os": "linux","Size": 0,"VirtualSize": 105389901}]
上面返回的是一个JSON格式的消息,如果只要其中某一项的内容时,可以使用-f来指定,语法格式如下:
docker insepect -f {{".项名"}} 镜像名[root@localhost ~]# docker inspect -f {{".Id"}} redis a6edd7a55846043cdc25121900dee5f244334c08ddcfd9995bed9708395dac3a
4.使用history命令查看镜像历史
既然镜像文件由多个层组成,那么怎么才知道各层的内容具体是什么呢?这时候可以使用history子命令,该命令将列出各层的创建信息。

过长的命令被自动截断了,可以使用前面提到的--no-trunc 选项来输出完整命令。
二、查找镜像
使用docker search 命令可以搜索Docker Hub 官方仓库中的镜像。语法为:
docker search [option] keyword[root@localhost ~]# docker search redisNAME DESCRIPTIONSTARS OFFICIAL AUTOMATEDredis Redis is an open source key-value store th...9921 [OK]sameersbn/redis83 [OK]grokzen/redis-cluster Redis cluster 3.0, 3.2, 4.0, 5.0, 6.0, 6.279rediscommander/redis-commander Alpine image for redis-commander - Redis m...65 [OK]redislabs/redisearch Redis With the RedisSearch module pre-load...38redislabs/redisinsight RedisInsight - The GUI for Redis35redislabs/redis Clustered in-memory database engine compat...31oliver006/redis_exporter Prometheus Exporter for Redis Metrics. Su...29redislabs/rejson RedisJSON - Enhanced JSON data type proces...27arm32v7/redis Redis is an open source key-value store th...24redislabs/redisgraph A graph database module for Redis16 [OK]redislabs/redismod An automated build of redismod - latest Re...15 [OK]arm64v8/redis Redis is an open source key-value store th...15redislabs/rebloom A probablistic datatypes module for Redis14 [OK]webhippie/redis Docker images for Redis11 [OK]s7anley/redis-sentinel-docker Redis Sentinel10 [OK]redislabs/redistimeseries A time series database module for Redis10insready/redis-stat Docker image for the real-time Redis monit...10 [OK]goodsmileduck/redis-cli redis-cli on alpine9 [OK]centos/redis-32-centos7 Redis in-memory data structure store, used...5clearlinux/redis Redis key-value data structure server with...3wodby/redis Redis container image with orchestration1 [OK]tiredofit/redis Redis Server w/ Zabbix monitoring and S6 O...1 [OK]runnable/redis-stunnel stunnel to redis provided by linking conta...1 [OK]xetamus/redis-resource forked redis-resource0 [OK]
OFFICIAL:表示是官方认证的镜像
STARS:表示获得的点赞扬数
三、删除和清理镜像
1.使用标签删除镜像
使用docker rmi或docker image rm命令可以删除镜像,命令格式为:

2.使用镜像ID删除镜像
使用镜像ID删除时,会先删除所有指向该镜像的标签,再删除该镜像文件本身。
以上面的centos镜像为例,使用镜像ID的方式来删除镜像。
四、使用commit命令创建镜像
通常创建Docker镜像有两种方法,一是使用commit命令创建;二是使用dockerfile来文件来创建。这一小节主要介绍如何使用commit命令来创建。可以将此想象为我们是在往版本控制系统里提交变更,我们先创建一个容器,并在容器里做出修改,就像修改代码一样,最后再将修改提交为一个新境像。
使用commit创建境像的语法如下:

本章节关于“Docker中查看镜像信息,找到镜像及运用”的内容就给大家讲解到这里,希望对做测试工作的小伙伴有帮助~欢迎大家每天和我一起学习更多涨薪技能哦。


温馨提示:添加老师微信【13691729932】可以获取全套软件测试自学资料!

川石课堂
扫码进入
“腾讯课堂”
在线重复学习

自学群
扫一扫进入
“软件测试猿”
交流学习大群





