一:镜像概述:
Docker 镜像是Docker容器技术的核心,也是应用打包构建发布的标准格式,一个完整的镜像可以支撑多个容器的运行,在Docker的整个使用过程中,进入一个已经定型的容器之后,就可以在容器中进行操作,最常见的就是在容器中安装应用服务。
如果想要把已经安装的服务容器进行迁移,就需要把环境以及部署的服务生成新的镜像。
二:镜像构建方式:
1:基于已有的容器创建镜像
2:基于本地模块板创建镜像
3:基于Dockerfile 创建镜像
三:镜像构建案例:
1:基于已有容器创建镜像
基于现有镜像创建主要使用docker commit 命令,即把一个容器里面运行的程序以及该程序的运行以及该程序的运行环境打包起来生成新的镜像
命令格式:
docker commit [选项] 容器ID/名称,仓库名称:[标签],常见选项
- -m 说明信息
- -a 作者信息
- -p 生成过程中停止容器的运行
首先启动一个镜像,在容器里做相应的修改,然后将修改后的容器提交为新的镜像,需要记住容器的ID号。
《1》:rz上传镜像
《2》:cat centos-7-x86_64.tar.gz | docker import - centos:7 导入镜像
《3》:docker run -it centos:7 /bin/bash 先运行出新的容器
《4》:touch 1111111.txt 创建文件
《5》:docker commit -m "crushlinux test images" -a "crushlinux" 4d90a356cca0 centos7:new 打包
2:基于本地模块创建镜像
通过导入操作系统模块文件可以生产镜像,模块可以从OPENVZ 开源项目下载,下载地址为: Index of /template/precreated
下面是使用docker导入命令将下载的centos 模块压缩包导入为本地镜像的例子:
《1》:wget http://download.openvz.org/template/precreated/centos-7-x86_64.tar.gz 下载镜像
《2》:cat centos-7-x86_64.tar.gz | docker import - centos:test 导入镜像
《3》:docker images centos:test 查看镜像