码迷,mamicode.com
首页 > 其他好文 > 详细

dockerfile构建Tomcat镜像

时间:2020-09-17 20:26:34      阅读:26      评论:0      收藏:0      [点我收藏+]

标签:ubantu   目标   创建   apach   loading   mamicode   openssl   too   版本   

dockerfile构建Tomcat镜像

一、镜像分层概念

技术图片

二、制作tomcat镜像

2.1、创建分层目录
[root@node2 ~]# mkdir /app/{web/{nginx,tomcat,jdk},system/{centos,alpine,ubantu}} -pv
2.2、制作基础centos镜像
[root@node2 ~]# cd /app/system/centos/
[root@node2 centos]# vim Dockerfile
#Centos 7.6 base images

FROM centos:7.6.1810

LABEL tzh 123456@qq.com

RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel vim

#创建tzh组、tzh用户,然后把用户tzh添加到tzh组中
RUN groupadd tzh -g 2020 && useradd tzh -u 666 -g tzh

#构建,实际上生产这样构建不合适。应该搞个脚本构建,要不然容易忘记镜像是干嘛的!!
[root@node2 centos]# docker build -t centos-base:7.6 .
2.2.1、编写脚本,方便日后构建镜像,方便记录镜像名称
#同级目录下
[root@node2 centos]# pwd
/app/system/centos

#编写脚本,先写固定了,后期可以把centos-base和7.6做手动传入的参数
[root@node2 centos]# vim build-command.sh
#!/bin/bash
docker build -t centos-base:7.6 .

#调用,加权限 ./build-command.sh也行
[root@node2 centos]# bash  build-command.sh
2.3、构建jdk镜像
[root@node2 ~]# cd /app/web/jdk
[root@node2 jdk]# mkdir jdk-8u221
[root@node2 jdk]# cd jdk-8u221/
#找到要上传的jdk版本,上传到服务器当前目录下
[root@node2 jdk-8u221]# rz

#准备好以下文件
[root@node2 jdk-8u221]# ll
total 190532
-rw-r--r-- 1 root root       624 Sep 10 09:14 Dockerfile
-rw-r--r-- 1 root root 195094741 Dec 24  2019 jdk-8u221-linux-x64.tar.gz
-rw-r--r-- 1 root root      2150 Sep 10 09:18 profile

#编写Dockerfile
[root@node2 jdk-8u221]# vim Dockerfile
#FORM 的是刚刚我们做的基础centos镜像
FROM centos-base:7.6

LABEL tzh 123456@qq.com

#添加到镜像中,ADD会帮我们解压
ADD jdk-8u221-linux-x64.tar.gz /usr/local/src/

RUN ln -sv /usr/local/src/jdk1.8.0_221 /usr/local/java

#添加配置文件
ADD profile /etc/profile

#添加java的环境变量(不加这个root登录没有java环境)
ENV JAVA_HOME /usr/local/java
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
ENV PATH $PATH:$JAVA_HOME/bin

#统一时间,做软链接。ln [参数][源文件或目录][目标文件或目录]
RUN rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.3.1、编写脚本,方便日后构建镜像,方便记录镜像名称
#同级目录下
[root@node2 jdk-8u221]# pwd
/app/web/jdk/jdk-8u221

#编写脚本,以后优化
[root@node2 centos]# vim build-command.sh
#!/bin/bash
docker build -t centos-jdk:jdk-8u221 .

#调用,加权限 ./build-command.sh也行
[root@node2 centos]# bash  build-command.sh
Successfully built e5a7d9fba0af
Successfully tagged centos-jdk:jdk-8u221

#认证是否能用
[root@node2 jdk-8u221]# docker run --rm -it centos-jdk:jdk-8u221 bash
[root@400048eeca6b /]# java -version

2.4、构建tomcat镜像

#进入tomcat目录
[root@node2 ~]# cd /app/web/tomcat/
[root@node2 tomcat]# mkdir tomcat9.0
[root@node2 tomcat]# cd tomcat9.0/
#上传tomcat安装包上来
[root@node2 tomcat9.0]# rz

#编写最基本的,如果对tomcat优化过,可以把优化过的包替换
#构建最基础的tomcat镜像,等有需要部署代码了,再pull这个基础镜像,做不同的配置
[root@node2 tomcat9.0]# vim Dockerfile              
  
FROM centos-jdk:jdk-8u221

LABEL maintainer="tzh <362777279@qq.com>"

ADD apache-tomcat-9.0.27.tar.gz /app

RUN ln -sv /app/apache-tomcat-9.0.27 /app/tomcat

dockerfile构建Tomcat镜像

标签:ubantu   目标   创建   apach   loading   mamicode   openssl   too   版本   

原文地址:https://www.cnblogs.com/hsyw/p/13644315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!