使用docker构建镜像
使用docker构建镜像的方式主要有两种,一种是使用commit 从原有的容器中构建新的镜像,一种是使用Dockerfile 构建新的镜像,下面让我们来看看这两种方式的具体实现
·
使用docker构建镜像的方式主要有两种,一种是使用commit 从原有的容器中构建新的镜像,一种是使用Dockerfile 构建新的镜像,下面让我们来看看这两种方式的具体实现
使用commit构建镜像
下载基础镜像
使用docker pull 下载自己需要的镜像 :
运行基础镜像
使用docker run -d 镜像名称 -p 宿主端口:docker端口
例如:docker run -t -i -p 8088:8088 12480b1d188a /bin/bash
进入容器
使用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,这两种构建镜像的方式已经说完了,如有优化,欢迎指出大家互相交流,谢谢~
更多推荐
已为社区贡献3条内容
所有评论(0)