1、构建 SpringBoot 项目
新建一个项目
勾选 Spring Web
编写 controller 测试
/**
* @desc
* @auth llp
* @date 2022年07月14日 23:55
*/
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "Hello Mianbao";
}
}
启动测试
启动访问接口:localhost:8080/hello
打包
2、编写 DockerFile
在项目目录下新建 DockerFile 文件
FROM openjdk:8u332-jdk
# 服务器 dockerfile 和 jar 在同级目录
COPY *.jar /app.jar
CMD ["--server.port=8080"]
# 指定容器内要暴露的端口
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
3、上传文件
注意: 文件名改为 Dockerfile 才能自动识别
4、构建镜像
# 自动识别文件名为 Dockerfile
[root@localhost idea]$ docker build -t mianbao .
...........
Successfully built 15f61fe4d5a9
Successfully tagged mianbao:latest
# 查看生成的镜像
[root@localhost idea]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mianbao latest 15f61fe4d5a9 4 minutes ago 543MB
5、运行镜像
# 运行镜像
[root@localhost idea]$ docker run -d -P --name mianbao-springboot-web mianbao
6113f852d190e5ae36bcf0058bc1cb8b6ec84bcf190c9d402ea72ae01d0d3ff3
# 查看容器
[root@localhost idea]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6113f852d190 mianbao "java -jar /app.jar …" 6 seconds ago Up 4 seconds 0.0.0.0:49153->8080/tcp mianbao-springboot-web
6、访问测试
# 访问测试
[root@localhost idea]$ curl localhost:49153
{"timestamp":"2022-07-15T17:13:49.939+00:00","status":404,"error":"Not Found","message":"","path":"/"}
# 访问接口测试
[root@localhost idea]$ curl localhost:49153/hello
Hello Mianbao