Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板,比如:一个镜像可以是一个完整的CentOS操作系统环境,称为一个CentOS镜像;可以是一个安装了Mysql的应用程序,称之为一个Mysql镜像等


获取镜像的三种方式:
1)下载镜像(默认从Docker Hub下载)
2)把容器转换为镜像
3)制作镜像(通过dockerfile生成镜像)



查找镜像(默认从Docker Hub查询)
docker search httpd     //查找所有httpd相关的镜像

image.png


下载镜像(默认从Docker Hub查询)

docker pull httpd  #Hub是国外网站,下载速度非常的慢

        下载镜像加速:

          vi  /etc/docker/daemon.json

             { "registry-mirrors": ["http://ef017c13.m.daocloud.io"], "live-restore": true }

再重启服务,可以为下载加速

image.png

查看本机镜像列表
docker images   //查看所有镜像  (也可以单独查询 后面跟仓库名称和标签)
docker inspect 2211e1f06c4e    //指定ID号查看 详细信息

image.png

注:
各个选项说明:
REPOSITORY:表示镜像的仓库源docker.io
TAG:表示镜像的标签
IMAGE ID:表示镜像的ID
CREATED:表示镜像创建时间
SIZE:表示镜像大小

修改镜像名字及标签

添加新名称  新标签 镜像名id 新的镜像名:标签   #用于改名称
docker tag httpd  httpd:centos

image.png

删除镜像
删除之前确保没有被容器使用,若有容器使用需要先删除容器。 
docker rmi 镜像名称 或者镜像id
镜像没有使用才能删除成功,且只是删除名称

docker  rmi  -f   镜像ID #永久删除
docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}") #删除所有没有使用的镜像

image.png


存出镜像和载入镜像
docker save -o httpd httpd    //将本地镜像存为文件httpd,保存在当前所在的目录中
docker save -o 文件名   镜像名称
docker load < httpd     //将镜像文件导入到docker镜像中

image.png

image.png


查看镜像的详细信息:

docker  inspect  镜像名(ID)

image.png


镜像总结:

搜索 : docker  search  关键字
下载 : docker pull 关键字
查看:docker  images
查看镜像内容信息:docker  inspect  镜像名(ID)
删除:docker  rmi  镜像名(ID)
存出镜像:docker sava -o  保存的文件名   镜像名(ID)
导入镜像:docker load <   保存的文件
更改镜像名称及标签docker tag 镜像id 新的镜像名:tag