当前位置: 首页 > article >正文

docker 通过Dockerfile自定义的镜像部署Springboot项目

一、Dockerfile

创建文件

touch Dockerfile
  • 编辑Dockerfile
#使用OpenJDK作为基础镜像
FROM openjdk:17-jdk-alpine
# 将jar文件复制到镜像的/app目录下
# 注意:这里的your-springboot-app.jar应该替换为你实际的jar文件名
COPY target/aitestpro-0.0.1-SNAPSHOT.jar /app/aitestpro-0.0.1-SNAPSHOT.jar 

#设置工作目录为/app
WORKDIR /app
#设置时区
#ENV TZ=Asia/Shanghai

# 暴露应用程序端口(Spring Boot默认是8080)
EXPOSE 8080

# 设置容器启动时执行的命令
# 这里使用java -jar来运行jar文件
ENTRYPOINT ["java", "-jar", "aitestpro-0.0.1-SNAPSHOT.jar"]

二、打包Spring Boot 3项目为jar文件

./mvnw clean package -DskipTests

或者直接通过idea软件 mvn插件命令打包
在这里插入图片描述
三、Docker 构建

docker build -t docker-aipro .
  • -t:给镜像起名字,格式是repostory:tag格式,不指定格式是默认为latest。
  • . :是指定Dockerfile的目录,并且关系文件内部的执行命令。若为当前目录就为"."。
  • 若有文件中有相关的jdk镜像,可以提前加载,构建时,速度会快一些。
docker load -i jdk.jar
  • 加载完查看相关的镜像
    在这里插入图片描述

  • 进入相关的Dockerfile目录下进行构建日志
    在这里插入图片描述

  • 查看生成的镜像列表
    在这里插入图片描述
    运行相关的镜像

docker run -d --name aipro -p 8080:8080 docker-aipro
  • 查看镜像进程及相关的日志
docker ps
docker logs docker-aipro

在这里插入图片描述
浏览器访问Springboot项目:
在这里插入图片描述


http://www.kler.cn/a/410969.html

相关文章:

  • 视频质量评价SimpleVQA
  • 软件团队的共担责任
  • C++中的原子操作:原子性、内存顺序、性能优化与原子变量赋值
  • 钉钉免登录接口
  • 【Android】android compat理解
  • 详细探索xinput1_3.dll:功能、问题与xinput1_3.dll丢失的解决方案
  • 一个专为云原生环境设计的高性能分布式文件系统
  • C嘎嘎探索篇:栈与队列的交响:C++中的结构艺术
  • 华为鸿蒙内核成为HarmonyOS NEXT流畅安全新基座
  • QML学习 —— 34、视频媒体播放器(附源码)
  • 8K超高清相机+双光谱融合技术
  • 二代三代社保卡读卡器串口命令协议,适用于单片机等嵌入式系统使用
  • WordCloud参数的用法:
  • 【VRChat 全身动捕】VIVE 手柄改 tracker 定位器教程,低成本光学动捕解决方案(持续更新中2024.11.26)
  • docker如何安装mysql8
  • 香橙派--安装RKMPP、x264、libdrm、FFmpeg(支持rkmpp)以及opencv(支持带rkmpp的ffmpeg)(适用于RK3588平台)
  • C语言数据结构学习:循环队列
  • GreatSQL 运行时内存太高,超过90%怎么办
  • 带有悬浮窗功能的Android应用
  • 极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【三】
  • 第 35 章 - Go语言 容器化应用
  • 分布式查询处理优化之数据分片
  • 医院信息化与智能化系统(22)
  • 微信小程序 WXS 的概念与基本用法教程
  • 101页PDF | 德勤_XX集团信息化顶层规划设计信息化总体解决方案(限免下载)
  • uniapp-vue2引用了vue-inset-loader插件编译小程序报错