将项目打包成Docker镜像

  • 将项目打包成Docker镜像的原因是可以在一台电脑的环境下模拟多台不同性能电脑响应高并发请求时候的表现。
  • 这里我们模拟半个CPU、一个CPU还有两个CPU的情况
  1. 在pom.xml文件中添加jib插件(前提电脑安装了mavenJava 的 JDK才能成功完成编译)
    Java项目打包成Docker镜像-LMLPHP
  2. 命令行打包命令(在Spring项目根目录输入这行命令)
mvn compile jib:dockerBuild

Java项目打包成Docker镜像-LMLPHP
3. 书写Dockerfile并完成搭建

# 基础镜像使用Java
FROM openjdk:8-jdk
# 作者
MAINTAINER Mark
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
# 此处可以把具体的jar包名称写出来,我这里直接用*号代替了
ADD target/*.jar pi_app.jar
ENTRYPOINT ["java","-jar","/pi_app.jar"]
# 指定容器需要映射到主机的端口
EXPOSE 9090

! 搭建过程中遇到了一个问题就是gcr.io无法访问导致镜像拉取出了问题,一直卡在20报错,下面是我的解决方案:
直接通过命令行进行镜像搭建:
Java项目打包成Docker镜像-LMLPHP

注意事项

  1. 在命令行中进行搭建的原因是在IDEA中搭建会因为IDEA打开Dockerfile而占用进程,最终会导致镜像搭建失败!
  2. 建议使用最新的openjdk8而不要使用Java:8。
03-20 04:00