• Docker 部署war包项目


    https://blog.51cto.com/13760351/2469305?source=drh

    部署原理

    使用Docker部署war项目,必须要用容器,我们就用tomcact容器,其实都是将war包丢到tomcat的webapps目录下,tomcat启动的情况下会自动解压war包。

    部署方法

    1.在Docker中安装tomcat容器的镜像,然后把war包丢到tomcat镜像下webapps中即可。但是如果tomcat关闭了,其webapps下的包就会消失。
    2.利用挂载,还是安装tomcat容器的镜像,但是不把war包丢到tomcat下的webapps中,直接创建一个外部文件夹,将这个外部文件夹跟wabapps关联,这样把war丢到新建的文件夹中,tomcat的webapps也能读取到这个war包,这就是挂载。

    操作环境:

    1.已关闭防火墙,安全性
    2.已经安装docker容器
    3.宿主机centos 7系统
    4.项目已打好war包
    5.tomcat相关配置文件已准备好

    部署过程

    1.搜索tomcat镜像

    docker search tomcat

    Docker 部署war包项目

    2.下载tomcat镜像

    docker pull tomcat

    Docker 部署war包项目

    3.查看镜像

    docker images

    Docker 部署war包项目

    4.启动容器

    docker run -d -p 8088:8080 tomcat &

    排坑过程

    如果发现网页无法访问,返回404

    原因:下载的tomcat镜像有问题,容器中的webapps文件夹为空,故无法访问
    尝试以下步骤:
    docker ps

    Docker 部署war包项目

    docker exec -it 8126cd702e4b /bin/bash #进入容器
    rm -rf webapps #删除空文件webapps
    mv webapps.dist webapps #更换webapps文件

    网页验证

    Docker 部署war包项目

    部署war包项目

    第一种方法:war包拷贝到容器中

    1.把war包和配置文件拷贝到宿主机

    Docker 部署war包项目

    2.拷贝到docker容器里面

    docker cp admin.war 834273c974f2:/usr/local/tomcat/webapps
    docker cp context.xml 834273c974f2:/usr/local/tomcat/conf

    3.重启容器

    docker restart 2d9a7cdacc8b

    4.网页验证:

    Docker 部署war包项目

    第二种方法:挂载共享目录

    1. 创建挂载目录

    mkdir /root/warPackage

    2.上传war包到 /root/warPackage

    3. 挂载

    docker run -it -v /root/warPackage/:/usr/local/tomcat/webapps/ /bin/bash
    (-v (挂载) 虚拟机目录 容器目录)

    4.查看挂载

    宿主机查看:
    cd /root/warPackage
    ls

    Docker 部署war包项目

    容器内查看:
    docker exec -it ecf6b6baa517 /bin/bash
    cd webapps
    ls

    Docker 部署war包项目

    若此时网页无法访问,可尝试下面解决方法:

    docker exec -it ecf6b6baa517 /bin/bash #进入容器
    cd webapps
    mv webapps webapps1 #重命名,目前容器运行,无法删除,只能改名字
    mv webapps.dist webapps #替换webapps文件
    exit #退出容器
    docker run -it -v /root/warPackage/:/usr/local/tomcat/webapps/ /bin/bash
    #重新挂载

    注意:

    1.新下载的tomcat镜像若启动无法访问,要参考排坑过程,若正常,可忽略。
    2.挂载的war包路径可自定义,若无法访问,也可参考上面方法。
    3.这里介绍的2种方法,可以根据公司需要,自行选择使用。

  • 相关阅读:
    在linux查看内存的大小
    Linux下查看操作系统的位数和系统名称版本信息
    Linux下查看操作系统的位数和系统名称版本信息
    [KOJ95603]全球奥运
    [KOJ6997]旅行商问题二
    [hihoCoder#1065]全图传送
    [codeforces 339]E. Three Swaps
    [codeforces 339]D. Xenia and Bit Operations
    [codeforces 360]A. Levko and Array Recovery
    [codeforces 339]C. Xenia and Weights
  • 原文地址:https://www.cnblogs.com/zhoading/p/12713070.html
Copyright © 2020-2023  润新知