使用Docker来构建和运行springboot项目
一. 新建一个SpringBoot的应用
- 新建一个gradle的springboot项目
- 加入一个简易的代码
@RestController
public class TestController {
@GetMapping(value = "/test")
public String sayHello() {
return "Hello World!";
}
}
二. 使用gradle进行编译,然后会在build/libs下生成一个jar包
- 使用
gradle clean build
命令编译,编译成功会生成一个jar包 - 为了便于测试,将生成的jar包放到和 Dockerfile 文件相同的目录
三. 编写Dockerfile文件
# 指定基础镜像
FROM openjdk:8u171-jre-alpine3.7
# 挂载目录
VOLUME /tmp
# 将当前目录下的jar 包拷贝到/opt目录下
COPY ./docker-test-0.0.1.jar /opt/app.jar
# 暴露8080 端口
EXPOSE 8080
# 设定默认执行的二进制程序
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/opt/app.jar"]
四. 构建image
- 进入到Dockerfile文件的目录,执行
docker build -t docker-test .
- 等到执行成功会生成一个docker-test 的image
五. 运行
- 执行命令:
docker run -d -p 8080:8080 docker-test
六. 测试
访问: host:8080/test 即可看到输出了 Hello World!