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

Dockerfile部署springboot 项目或者springcloud项目

1.创建一个Dockerfile文件
在jar包的同一目录创建一个Dockerfile文件
并把打好的jar包和文件在同级
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 使用 OpenJDK 17 作为基础镜像,该镜像包含 JDK 17 环境
# 该镜像适用于需要编译或运行基于 JDK 17 的 Java 应用程序
 
FROM openjdk:17
 
# 设置容器中的工作目录为 /app
# 所有后续操作(如文件复制、命令执行等)都会基于该目录进行
 
WORKDIR /app
 
# 将本地的 JAR 文件 复制到容器的 /app 目录下
# COPY 命令将指定路径的文件从构建上下文复制到镜像中的目标路径
 
COPY  gaterway-1.0-SNAPSHOT.jar /app/gaterway-1.0-SNAPSHOT.jar
 
# 设置环境变量 JAR_FILE,指向 JAR 文件的名称
# 环境变量可以在容器运行时被应用程序或其他脚本访问
# 这里设置环境变量方便在 Dockerfile 中或运行时引用 JAR 文件
 
ENV JAR_FILE=gaterway-1.0-SNAPSHOT.jar
 
# 暴露容器的 7005端口,使得主机能够与容器的指定端口进行通信
# 通常用于 Web 服务或应用程序监听端口
# 可以根据应用需要更改为其他端口号
 
EXPOSE 7005
 
# 定义容器启动时的默认命令,使用 ENTRYPOINT 设置为 java -jar 来启动应用
# 这行命令会在容器启动时运行 Java 应用,加载指定的 JAR 文件
# 如果没有其他命令传入,ENTRYPOINT 将执行默认的 java -jar jar包名称
 
ENTRYPOINT ["java", "-jar", "/app/gaterway-1.0-SNAPSHOT.jar"]
# 使用 OpenJDK 17 作为基础镜像,该镜像包含 JDK 17 环境
# 该镜像适用于需要编译或运行基于 JDK 17 的 Java 应用程序
 
FROM openjdk:17
 
# 设置容器中的工作目录为 /app
# 所有后续操作(如文件复制、命令执行等)都会基于该目录进行
 
WORKDIR /app
 
# 将本地的 JAR 文件 复制到容器的 /app 目录下
# COPY 命令将指定路径的文件从构建上下文复制到镜像中的目标路径
 
COPY  sys-1.0-SNAPSHOT.jar  /app/sys-1.0-SNAPSHOT.jar
 
# 设置环境变量 JAR_FILE,指向 JAR 文件的名称
# 环境变量可以在容器运行时被应用程序或其他脚本访问
# 这里设置环境变量方便在 Dockerfile 中或运行时引用 JAR 文件
 
ENV JAR_FILE=sys-1.0-SNAPSHOT.jar
 
# 暴露容器的 8003端口,使得主机能够与容器的指定端口进行通信
# 通常用于 Web 服务或应用程序监听端口
# 可以根据应用需要更改为其他端口号
 
EXPOSE 8003
 
# 定义容器启动时的默认命令,使用 ENTRYPOINT 设置为 java -jar 来启动应用
# 这行命令会在容器启动时运行 Java 应用,加载指定的 JAR 文件
# 如果没有其他命令传入,ENTRYPOINT 将执行默认的 java -jar jar包名称
 
ENTRYPOINT ["java", "-jar", "/app/sys-1.0-SNAPSHOT.jar"]

在对应Dockerfile 目录下运行

docker build -t 镜像名称:标签 .

gateway举例

docker build -t gateway:1.1 .

在这里插入图片描述

运行完docker images 可以查看到新build 的镜像了

之后docker run 就可以运行程序了

docker run --name 容器名称 -p 宿主机端口:容器端口 -d 镜像名称:镜像标签

举例

docker run --name gateway -p 8201:8201 -d gateway:1.1

详细请看 连接

相关文章:

  • AcWing 6100. 奶牛选美
  • (十三)人工智能应用--深度学习原理与实战--理解卷积神经网络的原理及优势
  • Linux-----驱动
  • 视频活体检测:为您的身份信息安全保驾护航
  • Mysql--基础知识点--85.1--Innodb自适应哈希索引
  • 慢查询解决思路
  • 【Unity3D中UI与物体可见性的判断方法】
  • CSS基础知识学习指南
  • C语言--求n以内的素数(质数)
  • 蓝桥杯真题-危险系数DF
  • L2-051 满树的遍历
  • Java的基本语法(1)
  • 彻底改变我 React 开发方式的组件模式
  • 三格电子上新款——欧姆龙 CJ/CP系列 PLC 串口转网口
  • for循环的优化方式、循环的种类、使用及平替方案。
  • LEARNING DYNAMICS OF LLM FINETUNING【论文阅读笔记】
  • 如何深入理解protobuf
  • 小型实验室数控机床-迷你型数控加工中心|CNC数控车床
  • 软考 中级软件设计师 考点知识点笔记总结 day11 文件管理 设备管理
  • 51电子表
  • 深圳网站建设公司的外文名是/苏州网站建设开发公司
  • 如何建团购网站/谷歌浏览器引擎入口
  • 网站必须要实名认证么/交换链接是什么意思
  • 网站效果检测/企业建设网站公司
  • 做二手房的网站技巧/怎样做好网络营销推广
  • 个人网站能百度推广吗/如何拿高权重网站外链进行互换?