docker 基础应用篇-构建镜像

写在前面

新项目要用到新框架,闲下来想搭建一套集成环境;想到,反正今后也常用,干脆用docker做一个基于lnmp,centos系统及开发常用工具集成环境好了;

docker hub上有很多,现在有时间,就当作巩固下docker咯;
mac上docker工具安装,另有篇幅介绍;

1.从docker hub搜索及下载镜像;

做一个基于centos的开发环境镜像,我需要有一个centos镜像

docker search centos//查看centos相关镜像
docker 基础应用篇-构建镜像_第1张图片

选好评最多的那个,哈哈哈~

docker pull centos:latest //下载镜像

2.构建镜像基本思路

构建镜像有两种方法

1.使用docker commit 命令
2.使用
docker build
命令和Dockerfile文件

制作的大概思路是,结合以上两种方法,在制作基础环境(base-image)时,首先采用docker run,进入容器内部修改镜像环境,commit成为新的镜像
其次,再基于基础环境(base-image),分别针对各个不同项目,编写Dockerfile;
项目的配置环境信息相对基础环境(base-image)来说,变动还是比较频繁的,这部分新增或者修改的过程,沉淀下来还是有必要的;
简单来说就是,相对不变的部分commit沉淀结果,变动的部分做到Dockerfile里,沉淀变化过程;

为什么制作基础环境(base-image)不用Dockerfile?

其实也是可以的,主要还是因为我懒啊~
在制作基础环境(base-image)中,实际就是各种软件的安装过程,常常会碰到手动编译的过程,或者做环境之间的配置,这个过程比较繁琐,又因为基础环境一般是不会频繁变动的,我的目的是为了得到基础镜像这个结果,所以,就不把安装过程的执行的shell命令做成脚本了,额,其实有耐心的同学记录安装过程的命令,转为Dockerfile也是可以的,哈哈哈~~,反正我不干~~

3.制作基础环境(base-image)镜像

//使用交互式的方式运行centos镜像,并为容器并名为centos-base
docker run -i -t --name centos-base centos

进入容器后安装nginx,php,mysql
《lnmp环境安装详细》

//退出镜像,commit
exit
docker commit f08e500fb473 centos
commit

这样,一个镜像就只做完成啦~

你可能感兴趣的:(docker 基础应用篇-构建镜像)