目录
1 什么是镜像
- 一个分层存储的文件
- 一个软件环境
- 一个镜像可创建多个容器
- 一种标准化的交付
- 一个不包含Linux内核而又精简的Linux操作系统
- 镜像与容器的关系可理解为类与实例的关系
2 镜像来自于哪里
- Docker Hub 是由Docker公司负责维护的公共镜像仓库,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。
- Docker Hub 地址:https://hub.docker.com
- 企业私有镜像仓库也提供镜像
3 常用镜像指令(重点)
- docker images:查看本地所有镜像
- docker search 镜像名称:从远端搜索镜像
- docker pull 镜像名称:tag:拉取镜像
- docker save 本地镜像名称 > 归档文件名.tar:将本地镜像保存成tar归档文件
- docker rmi 镜像id/镜像名称:删除镜像本地中的指定镜像(如 docker rmi 58ef746a6030 或 docker rmi tomcat:7)
- docker image prune:批量删除所有未被 tag 标记和未被容器使用的镜像
- docker image prune -a:批量删除所有未被容器使用的镜像
- 注意:prune不只是用于删除镜像,还可以用来删除容器、数据卷、网络
- docker commit指令可以用来将容器转为镜像,但是不建议用,而应该用Docker file
4 联合文件系统 UnionFS(了解)
- 联合文件系统(Union File System)在2004年由纽约州立大学石溪分校开发。
- 可以把多个目录(也叫分支)内容联合挂载到同一个目录下,而目录的物理位置是分开的。
- UnionFS允许只读和可读写目录并存,就是说可同时删除和增加内容。
- UnionFS应用的地方很多,比如在多个磁盘分区上合并不同文件系统的主目录,或把几张CD光盘合并成一个统一的光盘目录(归档)。
- 具有写时复制(copy-on-write)功能UnionFS可以把只读和可读写文件系统合并在一起,虚拟上允许只读文件系统的修改可以保存到可写文件系统当中。
- 镜像是只读的,类似共享形式让多个容器使用,如果要在容器里修改文件,通过引入写时复制(copy-on-write),会先从镜像里把要写的文件复制到容器自己的文件系统中进行修改。
- 为了提升Docker的文件读写速度,可尝试使用SSD固态硬盘或使用“卷”作为频繁读写文件的工作目录,绕过存储驱动,减少抽象的开销。