• 将java项目打包成docker镜像


    简介:将jar打包成镜像好说,毕竟jar包长的都是一样的,但是我们只是写了一个普通的java项目,我也不方便封装成jar包什么的,但是我们也想打包docker image怎么办呢,我们可以用编译后的java文件打包镜像

    思路:jdk和tomcat封装在一个镜像中,mysql是另一个单独的镜像,我们把编译后的代码放在tomcat中,编译后的代码在哪自己google,baidu

    步骤:1.本地下好tomcat和jdk(有时候远程太慢了,就不再Dockerfile写远程了),将tomcat解压,将编译后的java文件放在tomcat的webapp下,jdk不管它

    这里需要注意apache是自己新建的一个目录,真正的tomcat在它的下面,为什么这么弄呢,因为在Dockerfile中ADD的时候,copy的是目录下的文件,而目录本身不复制,那没办法自己我自己加一层目录了

    Dockerfile内容(Dockerfile一定要跟jdk和tomcat什么的在同一目录):

    FROM centos:latest
    MAINTAINER waterlufei

    #install jdk and tomcat

    ADD jdk-8u121-linux-x64.tar.gz /usr/java/
    ADD apache /home/schoolapp/

    #jdk enviroment
    ENV JAVA_HOME=/usr/java/jdk1.8.0_121
    ENV JRE_HOME=/usr/java/jdk1.8.0_121/jre
    ENV CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    ENV PATH=$JAVA_HOME/bin:$PATH

    EXPOSE 8080

    #tomcat self start
    CMD ["/home/schoolapp/apache-tomcat-7.0.76/bin/catalina.sh","run"]

     简单说明下:用到了centos镜像做系统,作者是waterlufei,将jdk-8u121-linux-x64.tar.gz 存放在容器内部的 /usr/java/目录,将tomcat存放在容器内部/home/schoolapp/目录下,不是主机所在目录喔,配置jdk环境变量,开放容器端口8080,最后让tomcat自启动

    配置好了Dockerfile,

    打包docker images 命令: docker build -t myapp .    (.不要忘了)

    查看镜像有没有打包好:  docker images

    将镜像放到容器中运行:docker run -d -p 8080:8080 myapp

    浏览器访问,成功访问项目主页

  • 相关阅读:
    Spring AOP
    Spring IOC
    Mysql数据库
    Java实现发送手机验证码功能
    jqzoom插件制作仿京东商品详情页面图片特效
    tomcat7中cookie写入中文引发Control character in cookie value or attribute异常
    javascript对cookie进行管理
    queryrunner Basedao的使用
    BeanUtils String转Date注册器
    Dbutils学习
  • 原文地址:https://www.cnblogs.com/waterlufei/p/6627470.html
Copyright © 2020-2023  润新知