Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板,比如:一个镜像可以是一个完整的CentOS操作系统环境,称为一个CentOS镜像;可以是一个安装了Mysql的应用程序,称之为一个Mysql镜像等
获取镜像的三种方式:
1)下载镜像(默认从Docker Hub下载)
2)把容器转换为镜像
3)制作镜像(通过dockerfile生成镜像)
查找镜像(默认从Docker Hub查询)
docker search httpd //查找所有httpd相关的镜像
下载镜像(默认从Docker Hub查询)docker pull httpd #Hub是国外网站,下载速度非常的慢
下载镜像加速:
vi /etc/docker/daemon.json
{ "registry-mirrors": ["http://ef017c13.m.daocloud.io"], "live-restore": true }
再重启服务,可以为下载加速
查看本机镜像列表
docker images //查看所有镜像 (也可以单独查询 后面跟仓库名称和标签)
docker inspect 2211e1f06c4e //指定ID号查看 详细信息
注:
各个选项说明:
REPOSITORY:表示镜像的仓库源docker.io
TAG:表示镜像的标签
IMAGE ID:表示镜像的ID
CREATED:表示镜像创建时间
SIZE:表示镜像大小
修改镜像名字及标签
添加新名称 新标签 镜像名id 新的镜像名:标签 #用于改名称
docker tag httpd httpd:centos
删除镜像
删除之前确保没有被容器使用,若有容器使用需要先删除容器。
docker rmi 镜像名称 或者镜像id
镜像没有使用才能删除成功,且只是删除名称docker rmi -f 镜像ID #永久删除
docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}") #删除所有没有使用的镜像
存出镜像和载入镜像
docker save -o httpd httpd //将本地镜像存为文件httpd,保存在当前所在的目录中
docker save -o 文件名 镜像名称
docker load < httpd //将镜像文件导入到docker镜像中
查看镜像的详细信息:
docker inspect 镜像名(ID)
镜像总结:
搜索 : docker search 关键字
下载 : docker pull 关键字
查看:docker images
查看镜像内容信息:docker inspect 镜像名(ID)
删除:docker rmi 镜像名(ID)
存出镜像:docker sava -o 保存的文件名 镜像名(ID)
导入镜像:docker load < 保存的文件
更改镜像名称及标签docker tag 镜像id 新的镜像名:tag