docker-3 镜像管理

                 第3章 镜像管理

1.镜像是什么
2.镜像与容器的联系
3.管理镜像常用的命令
镜像是什么:
一个分层存储的文件
一个软件的环境
一个镜像可以创建N个容器
一种标准化的交付
一个不包含Linux内核而又精简的Linux操作系统
镜像不是一个单一的文件。而是有多层构成。我们可以通过docker history <ID/NAME> 查看镜像中各层内容及大小。每层对应着Dockerfile 中的一条指令。Dokcer镜像默认存储在/var/lib/docker/\<storage-driver\>中。
镜像从哪里来:
默认下载地址:https://hub.docker.com/explore
通过docker search可以检索

配置镜像加速器:
https://www.daocloud.io/mirror
命令: curl -sSL https://get.daocloud.io/daotools/set.mirror.sh |sh -s http://f1361db2.m.daocloud.io
会在/etc/docker/daemon.json里面添加dotcloud提供的加速地址。
配置后重启docker.
ps -ef|grep docker 可以查看docker运行的容器
docker history nginx查看运行nginx的指令
通过安装yum -y install tree。安装后通过tree命令查看/var/lib/docker/overlay2目录结构。

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

通过命令:docker images可以查看系统中保存的docker镜像。
docker-3 镜像管理
这3层就是docker镜像层。
docker run -itd nginx
这样只是创建了一个进程,引用的文件系统。这是标记引用。
再次执行,也是标记引用。
docker镜像是分层的。引用一个镜像创建多个容器。进入容器中,里面都是指可写层。
进入镜像创建的文件,只在镜像的路径中存在。在
docker-3 镜像管理
这个目录中会看到新看到的文件。

猜你喜欢

转载自blog.51cto.com/11365871/2648493
今日推荐