您的位置:首页 > 运维架构 > Docker

使用docker构建镜像

2017-03-31 22:05 281 查看
     使用docker构建镜像的方式主要有两种,一种是使用commit 从原有的容器中构建新的镜像,一种是使用Dockerfile 构建新的镜像,下面让我们来看看这两种方式的具体实现

使用commit构建镜像

下载基础镜像

使用docker pull 下载自己需要的镜像 :



运行基础镜像

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



进入容器

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



修改容器内容

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



commit容器内容

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,这两种构建镜像的方式已经说完了,如有优化,欢迎指出大家互相交流,谢谢~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: