傻瓜式制作docker镜像(Java应用的镜像)

目标

  • 将一个java web项目打包成镜像,运行在docker中

所需环境:

  • 首先你得有个可运行的java web项目,将其打成jar包或者war包(我使用的是springboot,自带tomcat,否则你还需要一个linux版本的tomcat)
  • 有linux环境(vmware虚拟机、Virtual Box),
    • 这个环境必须安装过docker,
    • 如何安装docker
    • 安装后如何避免每次执行docker都需要sudo,
    • 请自行百度。
  • 有一个jdk的linux版本,比如:jdk-8u231-linux-x64.tar.gz
  • 一个docker file(如何制作dockerfile见下文)

大致步骤:

  • 在linux环境下新建一个文件夹(我使用的是ubuntu,mkdir ljtest),把上述材料放进去(jdk的tar包、项目的jar包、docker file)
  • 制作:docker build -t myappname . ( . 不要忘了)
  • 查看:docker images (看一下是否存在myappname这个镜像)
  • 运行:docker run -it myappname

如何制作dockerfile:

#基于centos镜像
FROM centos

#工作目录
WORKDIR /home/lj

#维护人的信息
MAINTAINER  ljfirst <ljfirst@mail.ustc.edu.cn>

#install jdk and  jar包(需要确保你的centos镜像中有/usr/java/这个路径,不行就mkdir)
ADD jdk-8u231-linux-x64.tar.gz /usr/java/
ADD monitoringalarm-0.0.1-SNAPSHOT.jar /home/lj/

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

#设置端口
EXPOSE 8080

#执行命令
CMD ["java","-jar","/home/lj/monitoringalarm-0.0.1-SNAPSHOT.jar"]

踩坑记录:

  • ADD monitoringalarm-0.0.1-SNAPSHOT.jar /home/lj/ 这一步我使用的是COPY,然后就报各种路径错误,然后该回来使用ADD,这样就可以拷贝当前目录的文件。

猜你喜欢

转载自blog.csdn.net/ljfirst/article/details/105680421