什么是docker镜像
听到镜像一词,可能不清楚镜像是什么。可以理解为操作系统的iso镜像包。
docker images是docker的三大组件之一
Image 里面是一层层文件系统,叫做 Union FS,联合文件系统,可以将几层目录挂载到一起,成为同一个虚拟文件系统。文件系统的目录结构就像普通 linux 的目录结构一样,docker 通过这些文件与宿主机的内核提供了一个 linux 的虚拟环境。每一层文件系统我们叫做一层 layer,联合文件系统可以对每一层文件系统设置三种权限,只读(readonly)、读写(readwrite)和写出(whiteout-able),但是 docker 镜像中每一层文件系统都是只读的。
构建镜像的时候,从一个最基本的操作系统开始,每个构建的操作都相当于做一层修改,增加了一层文件系统,一层层往上叠加,上层的修改会覆盖底层该位置的可见性,这也很容易理解,就像上层把底层遮住了一样。当你使用的时候,你只会看到一个完全的整体,你不知道里面有几层,也不清楚每一层所做的修改是什么。结构类似这样:
如何制作docker镜像
官方是使用Dockerfile去制作镜像,还有一种方法是使用docker save制作镜像
以制作mongodb镜像为例:
(1)编写Dockerfile
(2)使用docker save
使用docker镜像
docker images
显示本机上所有的images,docker images中可以使用tag来指定版本
docker pull docker.io/hello-world
获取镜像,默认是从docker hub获取,可以指定私有仓库获取,但是tag必须为{docker-registry}/hello-world
docker push {docker-registry}/hello-world
上传镜像到私有仓库
docker search
查找镜像,默认是从官方仓库中查找
参考文章: http://blog.csdn.net/jcjc918/article/details/46500031
网友评论