springboot项目打包成docker镜像

1.上传jar包到服务器
在IDEA maven打包后生成的文件为:myspringboot_proj-1.0-SNAPSHOT.jar
然后将其上传到linux服务器,如下目录

[root@localhost tmp]# cd /tmp/myspringboot/
[root@localhost myspringboot]# ls -al
total 16
drwxr-xr-x   2 root root   48 Jul 29 10:19 .
drwxrwxrwt. 41 root root 4096 Jul 29 10:19 ..
-rw-r--r--   1 root root 8772 Jul 28 13:49 myspringboot_proj-1.0-SNAPSHOT.jar

 

2.编写Dockerfile编写

vi /tmp/myspringboot/Dockerfile

FROM java:21.0.4-9
COPY *.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
####springboot项目配置的端口
EXPOSE 8888

 

3.构建

[root@localhost tmp]# cd /tmp/myspringboot/
[root@localhost idea]# docker build -t myspringboot .

 

4.查看构建的镜像

[root@localhost myspringboot]# docker images|grep myspringboot
myspringboot                                                 latest                         c2adf7eff01a   29 seconds ago   623MB

 

5.启动镜像并查看镜像

[root@localhost idea]# docker run -d -p 8888:8888 --name myspringboot myspringboot:latest
[root@localhost myspringboot]# docker ps|grep spring
6825bef40210   myspringboot:latest                                      "java -jar /app.jar"     42 seconds ago   Up 39 seconds           0.0.0.0:8888->8888/tcp, :::8888->8888/tcp                                                  myspringboot

 

查看日志,若报如下的错误

[root@localhost myspringboot]# docker logs myspringboot
no main manifest attribute, in /app.jar

 

解决办法:在pom.xml文件中添加如下项

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

 

然后重新打包,可以尝试将jar上传到服务器使用如下命令执行看是否正常
[root@localhost myspringboot]# java -jar myspringboot_proj-1.0-SNAPSHOT.jar

 

6.测试
http://192.168.1.134:8888/list

posted @ 2025-07-29 13:51  slnngk  阅读(23)  评论(0)    收藏  举报