• windows dockerfile制作linux+tomcat环境


    1、下载jdk和tomcat压缩包,我下载的是(下载地址不附了,反正是官网)

    jdk-18_linux-x64_bin.tar.gz

    apache-tomcat-9.0.65.tar.gz

    2、编写dockerfile文件

    废话不多说先贴dockerfile

    FROM centos:7
    MAINTAINER  1786690@qq.com

    COPY readme.md /usr/local/readme.md

    ADD jdk-18_linux-x64_bin.tar.gz /usr/local/
    #复制并解压jdk-18_linux-x64_bin.tar.gz包到/usr/local/目录下

    ADD apache-tomcat-9.0.65.tar.gz /usr/local/
    #复制并解压apache-tomcat-9.0.65.tar.gz包到/usr/local/目录下

    RUN yum -y install vim

    ENV MYPATH /usr/local
    WORKDIR $MYPATH

    ENV JAVA_HOME /usr/local/jdk-18.0.2
    #添加JAVA环境变量

    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    #添加JAVA环境变量

    ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.65
    #添加TOMCAT环境变量
    ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.65
    #添加TOMCAT环境变量
    ENV PATH $PATH:$JAVA_HOME/bin;$CATALINA_HOME/lib;$CATALINA_HOME/bin

    EXPOSE 8080
    #暴露端口8080

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

    3、构建镜像

    docker build -t mytomcat:1.0 .

    可以用  docker images 查看镜像是否成功

    4、运行镜像

    docker run -d -p 8000:8080 --name mytomcat -v D:/docker/test:/usr/local/apache-tomcat-9.0.65/webapps/test -v D:/docker/test/logs/:/usr/local/apache-tomcat-9.0.65/logs mytomcat:1.0

     说明:

    8000为宿主机端口 8080为容器端口(dockerfile文件中暴露的端口)

    -v 目录1:/目录2(目录1为宿主机目录,目录2为容器运行中镜像目录)

    5、访问测试

    运行命令docker -ps a 

    浏览器打开http://127.0.0.1:8000/ tomcat启动成功

     命令查看:

    docker exec -it  a05acc15c14c551bb3059(部分即可)   /bin/bash  

    同时我们也可以查看宿主机的logs目录内生成了对应的tomcat运行日志

    6、发布项目并测试

    停止镜像

    docker stop a05acc15c14c551bb3059(貌似命令不生效,直接桌面关闭)

    1  在test目录下新建index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>




    hello


    Hello World!!!


    2  新建WEB-INF目录,并新建web.xml


        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">

    3  访问http://127.0.0.1:8000/test/

    动态修改jsp页面内容,不用重启镜像。

    下面说明整个过程中我遇到的问题.

    1、ERROR  COPY 问题: 这里只是目录问题 ,让你的dockerfile文件和tomcat、jdk压缩文件在同一个目录下,且执行build命令的目录也在次目录下.

    我当时就没有切换目录直接运行 docker build -f D:\docker\tomcat\Dockerfile -t mytomcat:1.0 . 想着是绝对目录没有问题。最后生成执行过程中就报了 COPY ADD 错误

    2、The command ‘/bin/sh -c yum -y install vim 问题:解决方案网上找的,就是centos的版本问题需要加上:7

    3、一个弱智问题:windows环境下执行build 命令需要移除dockerfile文件的 .txt后缀名

  • 相关阅读:
    linux内核分析:内存映射,文件系统
    基于单片机的语音存储与回放系统设计
    后端web开发框架——Spring Boot
    用超声波清洗机来洗眼镜好不好?眼镜超声波清洗机推荐
    R语言——R语言基础
    java毕业设计体育训练队的信息管理系统服务端源码+lw文档+mybatis+系统+mysql数据库+调试
    【ELK01】ELK简介以及ElasticSearch安装、ES客户端工具-Head安装、报错问题整理
    cesium-Web网页优化进阶
    Kubernetes--K8s基础详解
    第一章:递归求n的阶乘n!
  • 原文地址:https://blog.csdn.net/lyayfy/article/details/126253015