使用docker构建镜像

     使用docker构建镜像的方式主要有两种,一种是使用commit 从原有的容器中构建新的镜像,一种是使用Dockerfile 构建新的镜像,下面让咱们来看看这两种方式的具体实现html

使用commit构建镜像

下载基础镜像web

使用docker pull 下载本身须要的镜像 :docker

 

运行基础镜像centos

使用docker run -d 镜像名称 -p 宿主端口:docker端口 tomcat

例如:docker run -t -i -p 8088:8088  12480b1d188a  /bin/bashbash

进入容器服务器

使用docker exec -it 容器id bash 进入镜像
 

修改容器内容app

咱们能够使用vi 命令,在webapp目录下面添加个index.html 页面,添加以后,执行exit 命令,退出docker容器
 

commit容器内容webapp

docker commit  【容器id】   【自定义镜像名称】优化

为容器打标签

docker tag  【镜像名称】  【须要命名的名称】

push到仓库

docker  push 【镜像名称】

 

 

push到仓库以后,你能够能够到其余服务器上去下载,使用这个已修改的镜像了,里面包含你本身修改的内容(index.html页面)。

 

 

使用Dockerfile构建镜像

 
使用Dockerfile构建文件比较简单,也用的比较普遍,这里推荐你们仍是使用Dockerfile构建镜像。

编辑Dockerfile文件

Dockerfile的编写比较简单,若是不熟Dockerfile的操做命令的,能够参考我这篇博文: Dockerfile 指令详解
下面给一个样例给你们参考:
FROM reg-mirror.shie.site/shie-base/centos6-tomcat:7

MAINTAINER XXX@qq.com

ENV PROJ_NAME channel

RUN mkdir -p /app/shie/${PROJ_NAME}/conf

COPY server.xml ${CATALINA_HOME}/conf

COPY target/${PROJ_NAME}*.war /app/shie/${PROJ_NAME}/
COPY src/main/resources/PayZS/* /usr/local/tomcat/cert/

RUN unzip -d ${CATALINA_HOME}/webapps/${PROJ_NAME} /app/shie/${PROJ_NAME}/${PROJ_NAME}*.war

RUN rm -rf ${CATALINA_HOME}/webapps/${PROJ_NAME}/WEB-INF/lib/comm-conf-0.0.1-SNAPSHOT.jar

RUN mkdir -p ${CATALINA_HOME}/webapps/${PROJ_NAME}/WEB-INF/classes/comm/config

RUN sed -i '2i cp ${CATALINA_HOME}/webapps/${PROJ_NAME}/WEB-INF/classes/config/${ENV_NAME}/*  ${CATALINA_HOME}/webapps/${PROJ_NAME}/WEB-INF/classes/comm/config/' /usr/local/tomcat/bin/catalina.sh
 

使用Dockerfile文件构建镜像

使用一下命令,经过Dockerfile构建镜像
 
docker build -t 【镜像名称】 -f 【Dockerfile路径】【构建时候所在的相对路径】
 
 
 
ok,这两种构建镜像的方式已经说完了,若有优化,欢迎指出你们互相交流,谢谢~