4

Docker | 制作tomcat镜像并部署项目

 2 years ago
source link: https://www.cnblogs.com/all-smile/p/16791251.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

本文讲解如何制作自己的tomcat镜像,并使用tomcat部署项目

原料准备:

tomcat、jdk安装包,dockerfile文件

1、准备压缩包

jdk-8u301-linux-x64.tar.gz -> jdk1.8.0_301

apache-tomcat-7.0.107.tar.gz -> apache-tomcat-7.0.107

1037867-20221014122832629-324047319.png

2、编写dockerfile文件

官方指定命名Dockerfile,这样构建的时候不用加-f参数指定文件

FROM centos
MAINTAINER xiao<[email protected]>

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u301-linux-x64.tar.gz /usr/local
ADD apache-tomcat-7.0.107.tar.gz /usr/local

RUN yum -y install vim

ENV MYPATH /usr/local

WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_301
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-7.0.107
ENV CATALINE_BASH /usr/local/apache-tomcat-7.0.107
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINE_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-7.0.107/bin/startup.sh && tail -f /usr/local/apache-tomcat-7.0.107/bin/logs/catalina.out

3、执行构建

docker build -t diytomcat . # 自动寻找Dockerfile文件

构建成功:

Successfully built e68ad8caa2a4

Successfully tagged diytomcat:latest

1037867-20221014122834110-440385037.png

4、启动容器

/webapps/test 部署的项目路径,浏览器访问ip:port/test

docker run -it -p 9090:8080 --name xiaoTomcat -v /home/xiao/build/tomcat/test:/usr/local/apache-tomcat-7.0.107/webapps/test -v /home/xiao/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-7.0.107/logs diytomcat

5、访问查看

数据卷挂载成功

1037867-20221014122834573-1333957966.png

6、发布项目

已经挂载了数据卷,所以编写宿主机的项目文件就可以了

在挂载路径 /home/xiao/build/tomcat/test

  1. 新建文件 web.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>
  1. 新建文件 index.jsp,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<h2>Hello World!</h2>
<h2>xiao</h2>
<%
System.out.println("my tomcat project logs");
%>
</body>
</html>

7、浏览器访问

url:ip:port/test

1037867-20221014122835005-850659916.png

8、查看日志卷

tail -f catalina.out

1037867-20221014122835492-166993546.png

完成从构建镜像到部署项目🎈🎈


我是 甜点cc

热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚,等待着一个创业机会。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。

希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。

__EOF__


Recommend

  • 103

    Docker部署Apache-tomcat实验环境:Centos7phpStudy(提供wget下载以下的两个软件包到Centos)所需软件包:jdk-8u11-linux-x64.tar.gzapache-tomcat-7.0.84.tar.gz提供下载链接:https://pan.baidu.com/s/1miZh9wO密码:8d5fDocker是一个开源的应用容器引擎,让开发...

  • 51

    写在前面,k8s集群均已经搭建好,具体步骤可以查看前面文章。编写Dockerfile文件,目的创建一个可以公用的image,每次部署tomcat直接使用该镜像不用每次都进行build镜像。# 开始本来想使用tomcat的官方镜像,但是无奈官方镜像的系统用的都是diban 8的系统,因为我...

  • 63
    • www.tuicool.com 5 years ago
    • Cache

    Nginx+PHP7.3.9 Docker镜像制作

    最近因项目需要制作了多个版本的php docker镜像,制作过程可谓是一波三折,因基于yum的方式安装php的方式在安装扩展插件时很不方便,不容易找到插件对应的yum源,所以PHP在docker镜像中的安装改成了源码编译安装的方式。 主要有一...

  • 17
    • hub.docker.com 4 years ago
    • Cache

    tomcat docker image 镜像

    ``` docker pull tomcat ``` # Quick reference - **Maintained by**: [the Docker Community](https://github.com/docker-library/tomcat) - **Where to get help**: [the Docker Community Forums](https://forums.docker.com/), [the Docker Commun...

  • 10

    本文预计阅读时间 14 分钟 有时候有一些PHP项目,可能稳定性并不是最高的指标,简单,便捷,好用才是,那么使用一个镜像来跑,似乎也是非常合适的,今天就来做一下lnmp的镜像,以便于后边使用。 此镜像基于lnmp一键安装包制作,制作过程如下...

  • 14

    本文预计阅读时间 8 分钟 1,准备工作 1,下载kafka。 wget https://mirrors.cnnic.cn/apache/kafka/0.11.0.2/kafka_2.11-0.11.0.2.tgz 然后上传到服务器。 2,基础镜像。

  • 10

    V2EX  ›  程序员 请教大家一个 docker 镜像制作相关问题   csfreshman · 17 小时 40 分钟...

  • 14
    • codeyang.pages.dev 3 years ago
    • Cache

    自己打包Docker镜像并部署Vue项目

    一只会敲代码的Sheep自己打包Docker镜像并部署Vue项目发表于2021-12-25|更新于2021-12-25|Docker,Vue字数总计:2...

  • 6

    Dcm4chee 官方给的镜像是 pgsql,但在实际业务中需要使用 Mysql 数据库,这里就需要使用源码或直接下载 github 上提供的 mysql 版本二进制分发包,制作 docker 镜像。mysql 版二进制分发包:

  • 6

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK