欢迎光临
我们一直在努力

docker容器化部署springboot项目(详解)

目录

第一步:打jar包

第二步:创建一个目录his_docker(名字随意起)

为什么要新建目录?

第三步:把打好的jar包上传到his_docker目录

第四步:在his_docker目录创建dockerfile文件

第五步:构建jar包对应的镜像

第六步:查看镜像是否构建成功

第七步:运行容器

第八步:查看容器是否成功运行

第九步:查看docker容器中的java服务是否可用?


第一步:打jar包

第二步:创建一个目录his_docker(名字随意起)

为什么要新建目录?

因为后续要将jar包、Dockerfile文件等,上传到该目录中,方便统一管理。

第三步:把打好的jar包上传到his_docker目录

第四步:在his_docker目录创建dockerfile文件

切换到his_docker目录,执行如下命令:

vim Dockerfile

然后将如下的内容,直接复制到Dockerfile文件中。

# 使用官方OpenJDK 17作为基础镜像(包含glibc 2.31+,远高于所需的2.25)
FROM openjdk:17-jdk-slim

# 维护者信息(可选)
LABEL maintainer="casually"

# 设置工作目录
WORKDIR /app

# 创建一个非root用户运行应用(安全最佳实践)
RUN groupadd -r appuser && useradd -r -g appuser appuser

# 将应用的JAR包复制到镜像中
# 注意:请将your-app-name.jar替换为您的实际JAR文件名
COPY *.jar app.jar

# 修改文件所有者
RUN chown -R appuser:appuser /app

# 切换到非root用户
USER appuser

# 暴露应用端口(修改为8848)
EXPOSE 8848

# 容器启动时执行的命令
# 使用exec格式确保Java进程能正确接收信号
ENTRYPOINT ["java", "-jar", "app.jar"]

第五步:构建jar包对应的镜像

# 在 his_docker 目录下执行
docker build -t his-image:v1 .

第六步:查看镜像是否构建成功

docker images

如上图所示,镜像成功构建。

第七步:运行容器

docker run -d -p 8848:8848 –name his-container –restart always his-image:v1

解读:

  • -d:后台运行

  • -p 8848:8848:将主机的8848端口映射到容器的8848端口

  • –name his-container:容器名称(您可以自定义,比如 his-app、his-server 等)

  • his-image:v1 :您的镜像名称

  • –restart always his-image:带自动重启策略(推荐,确保容器一直运行

第八步:查看容器是否成功运行

# 查看容器是否运行
docker ps | grep his-container

第九步:查看docker容器中的java服务是否可用?

curl http://localhost:8848/mytest/test001

注意:这个/mytest/test001接口,是我们自己写的,专门用来测试服务是否可用,如下图。

测试效果如下

注意:如果有前端,也可以用前端发送请求,查看后端服务是否可用

赞(0)
未经允许不得转载:171主机测评 » docker容器化部署springboot项目(详解)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址