1. 镜像是什么

• 一个分层存储的文件
• 一个软件的环境
• 一个镜像可以创建N个容器
• 一种标准化的交付
• 一个不包含Linux内核而又精简的Linux操作系统
镜像不是一个单一的文件,而是有多层构成。我们可以通过docker history  查看镜像中各层内容及大小,每层
对应着Dockerfile中的一条指令。 Docker镜像默认存储在/var/lib/docker/\中。


2. 镜像从哪里来

Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容器镜像, Docker工具默认从这个公共镜像库下载镜像。
地址: 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


3. 镜像与容器联系

Docker入门与应用实战之Docker镜像管理_第1张图片

如图,容器其实是在镜像的最上面加了一层读写层,在运行容器里文件改动时,会先从镜像里要写的文件复制到容器自己的文件系统中(读写层)。
如果容器删除了,最上面的读写层也就删除了,改动也就丢失了。所以无论多少个容器共享一个镜像,所做的写操作都是从镜像的文件系统中复制过来操作的, 并不会修改镜像的源文件,这种方式提高磁盘利用率。
若想持久化这些改动,可以通过docker commit 将容器保存成一个新镜像。


4. 管理镜像常用命令

spacer.gifDocker入门与应用实战之Docker镜像管理_第2张图片


5.实战演练

启动容器:
docker run -d --name=nginxserver -p 80:80 nginx

浏览器访问:
http://ip

查看容器构建过程:
docker image history nginx

查看镜像列表:
docker images

查看镜像构建详情:
docker images inspect nginx 

查看当前运行的容器:
docker ps 
docker container ls

保存镜像:
docker save nginx >nginx.tar

导入镜像:
docker load < nginx.tar