Docker build 通过宿主机本地文件构建自定义tomcat 镜像

本文介绍了如何通过Dockerfile分别基于Ubuntu和CentOS创建自定义的Tomcat9+Java8镜像。首先拉取所需系统环境的镜像,然后在个人目录下创建image_data文件夹存放构建文件。接着展示了CentOS和Ubuntu版的Dockerfile,用于设置环境变量、复制文件并暴露端口。最后,通过`docker build`构建镜像,并使用`docker run`启动容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.先 pull 自己的所需的系统环境 本例 pull 了 ubuntu:latest 和 centos:latest 

docker images
ubuntu                 latest    9873176a8ff5   3 weeks ago      72.7MB
centos                 latest    300e315adb2f   7 months ago     209MB

2.在主目录下 单独 创建 一个本地文件专用文件夹 (就是tomcat,jre,数据库什么的都扔这下面,千万不要扔/home/下 ,才从坑里面爬出来的那个人告诉你:docker build会将当前文件夹下所有文件给你整到镜像容器里,好几十G的镜像吓人不。。。)

/home/{个人目录} 下创建  image_data  在该目录下准备构建镜像的文件,本例构建一个自定义的tomcat9+java8 镜像。

 CentOS 版 DockerFile:

FROM centos

MAINTAINER cg<xxx@126.com>
LABEL name="tomcat9048"\
      build-date="20210711"

COPY tomcat /home/
ADD  server-jre-8u291-linux-x64.tar.gz /home/

ENV WORKPATH /home/apache-tomcat-9.0.48/
WORKDIR /home/apache-tomcat-9.0.48


ENV JAVA_HOME /home/jdk1.8.0_291
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME $WORKPATH
ENV CATALINA_BASE $WORKPATH
ENV CATALINA_TMPDIR $WORKPATH/temp
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin


EXPOSE 8080
EXPOSE 80

CMD catalina.sh run

Ubuntu 版 DockerFile: 

FROM ubuntu

MAINTAINER cg<373xxxx@qq.com>
LABEL name="tomcat9048"\
      build-date="20210711"

COPY tomcat /home/
ADD  server-jre-8u291-linux-x64.tar.gz /home/

ENV WORKPATH /home/apache-tomcat-9.0.48/
WORKDIR /home/apache-tomcat-9.0.48


ENV JAVA_HOME /home/jdk1.8.0_291
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME $WORKPATH
ENV CATALINA_BASE $WORKPATH
ENV CATALINA_TMPDIR $WORKPATH/temp
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin


EXPOSE 8080
EXPOSE 80

CMD catalina.sh run

然后在当前目录打开终端 开始构建镜像:

 docker build -f dockerfile -t centos_tomcat9_java8:v1 .

  选一个跑一下:

docker run -it --name ubuntu_tomcat9 -p 9000:8080 4ab20857feae

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值