一般我们做完了项目的开发,基本都是不管后面的上线了,因为有专门的运维帮我们去处理了,这里记录下怎么把一个jar接口从本地搬到线上。
部署效果
-
本地开发环境

-
线上环境效果

实操过程步骤
- 准备一个spring的接口项目

- 添加几个测试接口,打成jar包

- 本地测试下,看能不能正常启动

熟悉的spring服务标志,就说明应该没问题了,再到浏览器进行确认

因为是get请求,可以直接在浏览器输入接口地址
- 准备上线
本地测试没问题后,我们准备一个Dockerfile文件

bash
FROM eclipse-temurin:17-jdk-alpine // 第三方的linux镜像
WORKDIR /app
COPY app-shop-0.0.1.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]

- 上传文件到linux系统上去,配置里面的文件名和jar包的文件名保持一致,不能识别大写的文件名,全部改成小写

- 制作自己的镜像文件

- 查看所有的本地镜像

- 启动镜像

- 查看镜像日志

熟悉的spring服务logo又回来了,说明启动正常,再到浏览器验证一遍

效果跟本地的一样了,一个简单的jar包接口就部署到线上了。
全部的docker步骤
bash
# 1. 创建项目目录
mkdir docker-demo && cd docker-demo
# 2. 创建Dockerfile和Java文件
# (将上面的代码复制到对应文件)
# 3. 构建项目
mvn clean package
# 4. 构建Docker镜像
docker build -t app-shop-0.0.1.jar .
# 5. 运行容器
docker run -d --name dd -p 8080:8080 app-shop-0.0.1.jar
# 6. 查看日志
docker logs -f dd
# 7. 测试
curl http://localhost:8080/
# 8. 停止并清理
docker stop dd
docker rm dd