Docker - 操作镜像资源

1,016 阅读2分钟

Docker操作镜像资源命令

WX20210120-202812@2x.png

搜索镜像资源

docker search nginx

WX20210120-203121@2x.png 一般选择 STARS 数最大的

拉取镜像

比如拉取上提及的 nginx 镜像

docker image pull nginx

命令执行后就开始对镜像进行拉取了 WX20210120-203456@2x.png

查看当前拥有的镜像

镜像ID: 镜像的唯一标识,如果镜像ID相同,则说明是同一个镜像 TAG: 用来区分不同的发行版本,如果不指定具体标记,则默认使用latest来标记信息

docker image ls
# 
docker images

WX20210120-205959@2x.png

查看镜像的详情信息

# docker image inspect 镜像名
docker image inspect ubuntu

WX20210120-214612@2x.png

删除镜像

完整写法

docker image rm ubuntu

简洁写法

docker rmi ubuntu

除了可以根据镜像名来删除外,也可以使用镜像ID,如使用上述的 ubuntu 镜像ID

docker rmi f643c72bc252

如果我们对同一个镜像打了多个 tag ,导致同一个镜像ID存在多个镜像名称,那此时可以使用 name:tag 的格式来删除镜像,如:

docker rmi ubuntu:latest

# docker rmi ubuntu_lxf:v1.0

镜像标签

# docker tag 当前镜像名:镜像版本 新的镜像名:新的版本
docker tag ubuntu:latest ubuntu_lxf:latest

# docker tag ubuntu:latest ubuntu_lxf:v1.0

WX20210120-210518@2x.png 注:

  • ubuntuubuntu_lxfIMAGE_ID 是相同的
  • 结合删除镜像的命令就可以实现镜像重命名功能

导出镜像

docker save 会保存镜像的所有历史记录和元数据信息

# docker save -o 包文件 镜像
docker save -o ubuntu.tar ubuntu

# docker save 镜像1 ... 镜像n > 包文件
docker save ubuntu nginx > lxf_images.tar

WX20210120-212355@2x.png

导入镜像

先删除 ubuntu 镜像 WX20210120-213219@2x.png

# docker load -i 镜像包名
docker load -i ubuntu.tar

# docker load < 镜像包名
docker load < ubuntu.tar

# docker load --input 镜像包名
docker load --input ubuntu.tar

WX20210120-213355@2x.png 可以看到, ubuntu 镜像已经成功导入进来了

查看镜像历史

# docker image history 镜像名

docker image history ubuntu

WX20210120-213823@2x.png