目录
一、制作jar包(如果看一眼很简单,可以直接使用结尾的jar)
2.启动微服务(在DemoApplication上右键执行启动就行)
二、通过dockerfile发布微服务部署到docker容器
1.编写Dockerfile (文件名不可更改 必须是D为大写)
前言:精髓部分
https://pan.baidu.com/s/1iUPKvr9Y2_vPd44RRzIf8Q 8eub
java: 无法访问org.springframework.boot.SpringApplication
错误的类文件: /C:/Users/kk/.m2/repository/org/springframework/boot/spring-boot/3.0.4/spring-boot-3.0.4.jar!/org/springframework/boot/SpringApplication.class
类文件具有错误的版本 61.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。
sprinboot项目冷知识:
springboot3.0系列只支持JDK17的版本(一般pom.xml里面的JDK版本也要改为17)
spring2.0系列默认支持JDK8的版本(常用)
解决:
- package com.example.demo.comtroller;
-
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
-
- import java.util.UUID;
-
- /**
- * @ClassName MyController
- * @Description TODO
- * @Author wanghaha
- * @Date 2023/5/4
- **/
- @RestController
- public class MyController {
- @Value("${server.port}")
- private String port;
-
- @RequestMapping("/order/docker")
- public String helloDocker()
- {
- return "hello docker"+"\t"+port+"\t"+ UUID.randomUUID().toString();
- }
-
- @RequestMapping(value ="/order/index",method = RequestMethod.GET)
- public String index()
- {
- return "服务端口号: "+"\t"+port+"\t"+UUID.randomUUID().toString();
- }
- }
http://localhost:6001/order/index http://localhost:6001/order/docker
链接: https://pan.baidu.com/s/16POEwpvTBd7ZVThVKv4dKA 提取码: gaz4
(以上操作不想弄或者了如指掌的直接使用我打好的jar包吧)
- # 基础镜像使用java
-
- FROM java:8
-
- # 作者
-
- MAINTAINER zzyy
-
- # VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
-
- VOLUME /tmp
-
- # 将jar包添加到容器中并更名为zzyy_docker.jar
-
- ADD demo2-0.0.1-SNAPSHOT.jar zzyy_docker.jar
-
- # 运行jar包
-
- RUN bash -c 'touch /zzyy_docker.jar'
-
- ENTRYPOINT ["java","-jar","/zzyy_docker.jar"]
-
- #暴露6001端口作为微服务
-
- EXPOSE 6001
将微服务jar包和Dockerfile文件上传到同一个目录下/mydocker
docker build -t zzyy_docker:1.6 .
docker run -d -p 6001:6001 zzyy_docker:1.6
curl 127.0.0.1:6001/order/docker
curl 127.0.0.1:6001/order/index
然后就是放开服务器的端口,将本地ip改成服务器ip就行