<1>镜像是一种轻量级的,可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成和一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。
<2>只有通过这个镜像文件才能生成Docker容器实例(类似Java中new出来的一个对象)
<1> 方便资源共享,复制迁移
<2> Docker 镜像层都是只读的,容器层是可写的
当容器启动时,一个新的可写层被加载到镜像的顶部,这一层通常被称为容器层,容器层之下都叫镜像层
<1> UnionFS(联合文件系统):是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(union serveral directories into a single virtual file system)。Union文件系统 是Docker 镜像的基础,镜像可以通过分层进行继承,基于基础镜像,可以制作各种具体的应用镜像。
<2>一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录
<1>
docker commit
提交容器副本使之成为一个新的镜像
<2>
docker commit -m=”提交的描述信息” -a=”作者” containerID imagename:[标签名]
Docker Registry 官方提供的工具,可以用于构建私有镜像仓库
docker pull registry
docker run -d -p 5000:5000 -v /ghc/mregistry/tem/registry registry
详见commit命令
curl -XGET http://host:5000/v2/_catalog
docker tag imagename:Tag Host:Port/Registry:Tag
docker默认不允许http方式推送镜像,通过配置取消限制,修改完重启docker
{
"registry-mirrors":["https://aa25jngu.mirror.aliyuncs.com"],
"insecure-registries":["182.157.138.113:500"]
}
systemctl daemon-reload
systemctl restart docker
docker push Host:Port/Registry:Tag
curl -XGET http://host:5000/v2/_catalog
docker pull Host:Port/Registry:Tag