描述
将本地springboot微服务发布到docker镜像中并启动容器
第一步
先本地idea创建一个简单的springboot服务,不需要连接数据库相关操作,只包含简单的接口功能做验证。
相关测试代码如下所示
package com.itwopqq.booting;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author 2pqq
* @desx
* @date 2024-03-23
*/
@RequestMapping("/user")
@RestController
public class PageController {
@Value("${server.port}")
private String port;
@GetMapping("/order/docker")
public String order() throws Exception {
return "hello docker";
}
@GetMapping("/order/index")
public String index() throws Exception {
return "服务端口号:" + "\t" + port + "\t";
}
}
完整测试代码连接:https://github.com/fanz1/simple-demo
第二步:执行maven下的命令打包
如下所示,执行package,将我们的服务打成jar包
第三步:将jar包转成docker镜像文件
-
上一步取到jar包之后,将jar包上传到服务器上
-
编写Dockerfile文件,为了方便,请将Dockerfile文件与jar包保持同一目录,Dockerfile文件内容如下所示
#基础镜像
FROM java:8
# 作者
MAINTAINER 2pqq
# 指定临时目录tmp
VOLUME /tmp
# 复制jar包文件
ADD simple-demo-0.0.1-SNAPSHOT.jar simple-demo.jar
#运行jar包
RUN bash -c 'touch /simple-demo.jar'
ENTRYPOINT ["java", "-jar", "/simple-demo.jar"]
#暴露服务端口
EXPOSE 8081
- 构建镜像
在Dockerfile目录下执行构建镜像命令
docker build -t simple-demo-jar:1.0 .
-
构建完成之后查看我们的镜像文件
-
启动我们的容器
docker run -d --name docker-simple-jar -p 8081:8081 simple-demo-jar:1.0
- 查看容器是否正常启动
docker ps
- 验证功能
访问微服务中的接口,测试接口是否可以正常访问,如下所示