1、一个分层存储的文件
2、一个软件的环境
3、一个镜像可以创建N个容器
4、一种标准化的交付
5、一个不包含Linux内核而又精简的Linux操作系统
镜像不是一个单一的文件,而是有多层构成。我们可以通过docker history <ID/NAME>查看镜像中各层内容及大小,每层对应着Dockerfile中的一条指令。Docker镜像默认存储在/var/lib/docker/\<storage-driver\>中。
Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容器镜像,Docker工具默认从这个公共镜像库下载镜像。
命令检索centos镜像:docker search centos
地址: https://hub.docker.com/explore
配置镜像加速器: https://www.daocloud.io/mirror
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh |sh -s http://f1361db2.m.daocloud.io
容器其实是在镜像的最上面加了一层读写层,在运行容器里文件改动时,会先从镜像里要写的文件复制到容器自己的文件系统中(读写层)。
如果容器删除了,最上面的读写层也就删除了,改动也就丢失了。所以无论多少个容器共享一个镜像,所做的写操作都是从镜像的文件系统中复制过来操作的,并不会修改镜像的源文件,这种方式提高磁盘利用率。
若想持久化这些改动,可以通过docker commit将容器保存成一个新镜像。
命令查看容器详细信息:
docker inspect <CONTAINER ID>
Usage: docker image COMMAND
docker image --help
指令 |
描述 |
ls |
列出镜像 |
build |
构建镜像来自 Dockerfile |
history |
查看镜像历史 |
pull |
从镜像仓库拉取镜像 |
push |
推送一个镜像到镜像仓库 |
rm |
移除一个或多个镜像 |
prune |
移除未使用的镜像。没有被标记或被任何容器引用的。 |
tag |
创建一个引用源镜像标记目标镜像 |
export |
导出容器文件系统到 tar 归档文件 |
import |
导入容器文件系统 tar 归档文件创建镜像 |
save |
保存一个或者多个镜像到 tar 归档文件 |
load |
加载镜像来自 tar 归档或标准输入 |