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/DockerfileFROM 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