zoukankan      html  css  js  c++  java
  • Docker构建Java web应用服务

    1.构建一个Java应用服务,包含两个步骤:
    a.一个镜像从URL拉取指定的WAR文件并保存到卷里
    b.一个含有Tomcat服务器的镜像运行这些下载的WAR文件

    2.构建下载WAR的镜像

    FROM centos
    MAINTAINER ruthless 416501600@qq.com
    ENV BUILD_ON 2018-04-12
    RUN yum install wget -qqy ##是否确认,默认为yes
    VOLUME ["/var/lib/tomcat7/webapps"] ##war存放目录
    WORKDIR /var/lib/tomcat7/webapps/
    ENTRYPOINT ["wget"]
    CMD ["-?"]

    $ docker build -t sample/war . ##构建war镜像
    通过 WORKDIR 指定工作目录为/var/lib/tomcat7/webapps,因为通过指定了VOLUME卷,因此wget命令会把war包下载到指定的卷目录里面。

    3.指定url下载war包,运行容器

    $ docker run -it --name sample_war sample/war https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war


    可以看到,容器通过提供的URL下载了war包,最终保存到/var/lib/tomcat7/webapps目录中。可以在/var/lib/docker目录中找到这个war文件

    $ docker inspect -f "{{range.Mounts}}{{.}}{{end}}" sample_war ##用于查看卷的存储位置。
    $ ll /var/lib/docker/volumes/787dd4200ae0c621b78640e1ad1a096628c39d21537e5151ca4da259e6ab9873/_data


    4.构建tomcat应用服务器

    FROM centos
    MAINTAINER ruthless 416501600@qq.com
    
    ADD ./jdk-7u80-linux-x64.tar.gz /usr/local/
    ADD ./apache-tomcat-7.0.73.tar.gz /usr/local/
    
    #set environment variable 
    ENV JAVA_HOME /usr/local/jdk1.7.0_80
    ENV PATH $JAVA_HOME/bin:$PATH
    
    VOLUME ["/var/lib/tomcat7/webapps/"]
    EXPOSE 8080
    
    #指定容器启动后执行linux命令
    #1、把war文件复制到tomcat webapps目录下 2、启动tomcat 3、打印tomcat日志
    #2、执行多个命令记得写成一行,别换行否则会报错 ENTRYPOINT
    cp /var/lib/tomcat7/webapps/* /usr/local/apache-tomcat-7.0.73/webapps/ && /usr/local/apache-tomcat-7.0.73/bin/startup.sh && tail -f /usr/local/apache-tomcat-7.0.73/logs/catalina.out

    jdk-7u80-linux-x64.tar.gz、apache-tomcat-7.0.73.tar.gz跟Dockerfile放在同一目录。
    使用 ADD 命令增加jdk,默认会解压,使用ENV命令增加java的环境变量。
    VOLUME增加/var/lib/tomcat/webapps数据卷,EXPOSE命令对外开放8080端口,ENTRYPOINT指定容器启动后执行的命令,运行tomcat服务器。

    $ docker build -t sample/tomcat . ##构建tomcat镜像
    $ docker images

    5.运行WAR文件
    启动一个tomcat实例

    $ docker run -d --name sample_app --volumes-from sample_war -p 8080:8080 sample/tomcat
    $ docker logs sample_app


    6.访问浏览器
    http://192.168.1.160:8080/sample

  • 相关阅读:
    创建和查看数据库
    初识数据库
    类似京东商城客户端应用源码
    高仿拼多多应用源码
    读者汇app项目案例源码
    Win10系统配置Apache虚拟主机
    Firefox+PHPStorm 8+XDebug单步调试
    Swing带TrayIcon(托盘小图标)的Hello world示例
    HttpClient v4.5 简单抓取主页数据
    23种设计模式的代码分析
  • 原文地址:https://www.cnblogs.com/linjiqin/p/8818808.html
Copyright © 2011-2022 走看看