docker基础操作(管理镜像:增 删 改 查)

86 阅读3分钟

docker镜像查询操作

  • 命令格式:
    • docker search [OPTIONS] TERM
  • 命令参数:
    • -f,--filter filer 根据提供的格式筛选结果
    • --format string 利用Go语言的format格式化输出结果
    • --limit int 展示最大结果数,默认25个
    • --no-trunc 显示所有的描述信息

运用示例

查询线上centos docker search centos

NAMEdescriptionSTARSOFFICIALAUTOMATED
  • NAME:名称
  • DISCRIPTION: 描述
  • STARS:相当于GitHub的点赞
  • OFFICIAL:是否是官方镜像
  • AUTOMATED:是否是docker file

筛选官方镜像docker search -f is-official=true 镜像名称

分页docker search -f is-official=true --limit 20 cent 注意这里的分页和我们的正常的思维不一样,他会先进行分页再进行过滤

下载镜像到本地

docker pull 镜像名称:版本号 默认是latest

查询本地镜像

docker images或者docker images ls

删除本地镜像

docker rmi或者docker image rm 删除可以一次性删除多个镜像用空格隔开就行

  • 命令参数
    • -f,--force 强制删除不管镜像是否有容器

镜像导出

运用场景:如果有新同事来了,重新下载镜像会比较耗时,可以将自己的镜像环境导出,新同事直接导入即可.可以同时导出多个,用空格隔开.

docker save centos centos:7 ubuntu 13b66b487594 > linux.tar

或者

docker save centos centos:7 ubuntu 13b66b487594 -o linux.tar

这里的13b66b487594是IMAGE ID 字段相当于指纹,最好是指定好版本号不然导入的时候会丢失版本号和名称,如果丢失可以使用镜像重命名,包括上面的删除可以使用IMAGE ID,但是得确保IMAGE ID是唯一的,不然删除会报错

命令运行完成之后使用ls可以查看到生成的linux.tar文件

镜像导入

docker load -i linux.tar

  • -i,--input string 指定要打入的文件,如没有指定,默认是STDIN
  • -q,--quite 不打印导入过程信息

镜像重命名

对本地镜像的NAME、TAG进行重命名,并新产生一个命名后镜像 这里的重命名是新增一个镜像,是对源镜像的引用,不会删除原来的镜像,只是新增了一个name与TAG不一样的镜像,如果说name与tag都为<none>需要借助IMAGE ID来进行修改,此时使用tag命令会进行覆盖,而不是新增一个引用 docker tag 名称或者IMAGE_ID 名称 版本

查看镜像详细信息

docker image inspect 镜像名或者docker inspect 镜像名 如果你要查看镜像详细信息两个都可以用,但是docker inspect还可以查看容器的详细信息,如果需要区别查看的话就需要加上image

  • -f,--format string 利用特定Go语言的format格式输出结果

结果搜索

  • 利用Linux的管道符搜索 docker image inspect 镜像 | grep 字符串
  • 利用Go语言的formatdocker image inspect -f {{json .属性}} 镜像

镜像历史信息

docker history 镜像

  • -H,--human 将创建时间、大小进行优化打印(默认为true)
  • -q,--quiet 只显示镜像ID
  • --no-trunc 不缩略显示