Docker镜像
Docker镜像
Docker 镜像是一个特殊的文件系统
提供容器运行时所需的程序、库、资源、配置等文件
包含一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)
镜像不包含任何动态数据,其内容在构建之后也不会被改变。
Docker镜像的创建方法
基于已有镜像创建
基于本地模板创建
基于Dockerfile创建(企业中常用的)
Docker镜像的分层
Docker镜像由一系列层组成,每层代表映像的Dockerfile中的一条指令。
镜像层将被缓存和复用
当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效
某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效
镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件
Docker镜像的创建
基于已有镜像创建
创建命令
基于容器创建一个新的镜像
命令格式:
docker commit [选项] 容器ID/名称 仓库名称:[标签]
常用选项:
-m:说明信息
-a:作者信息
-p:生成过程中停止容器的运行
创建
获取镜像、创建容器
docker pull centos:7
docker images
docker create -it centos:7 /bin/bash
docker ps -a
基于容器创建镜像
docker commit -m "centos7" -a "test" 9130bf9b52e5 centos:7new
docker images
基于本地模板创建
通过导入操作系统模板文件可以生成镜像
模板下载地址:https://wiki.openvz.org/Download/template/precreated
使用wget命令下载镜像
wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz
将下载的debian模板压缩包导入为本地镜像
debian压缩包下载