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

idea中Docker一键自动化部署

目录下面新建DockerFile文件

以下是DockerFile中的配置信息

# =============================================
# 基础镜像选择
# =============================================# 使用 BellSoft 提供的 Liberica OpenJDK Alpine 版本
# 官方镜像地址:https://bell-sw.com/pages/downloads/
# 特点:
# - 基于 Alpine Linux,镜像体积小巧(通常只有几十MB)
# - JDK 17 版本,支持最新的 Java 特性
# - -cds 表示包含 Class Data Sharing(类数据共享),可加速应用启动
FROM bellsoft/liberica-openjdk-alpine:17-cds# 其他可选的基础镜像(已注释):
# FROM bellsoft/liberica-openjdk-rocky:21.0.7-cds  # 基于 Rocky Linux,适合需要完整 Linux 环境的场景
# FROM findepi/graalvm:java17-native              # GraalVM 原生镜像,追求极致启动速度和内存效率# =============================================
# 元数据配置
# =============================================# 标识镜像维护者信息,方便后续维护和联系
LABEL maintainer="YourName"# =============================================
# 目录结构创建
# =============================================# 创建应用运行所需的目录结构
# -p 参数确保父目录不存在时自动创建
RUN mkdir -p /service/logs \     # 日志文件目录/service/temp \              # 临时文件目录/skywalking/agent           # 可观测性工具目录(用于 APM 工具如 SkyWalking)# =============================================
# 工作目录和路径配置
# =============================================# 设置容器内的工作目录,后续命令都在此路径下执行
WORKDIR /factory# =============================================
# 环境变量配置
# =============================================# 应用基础环境变量
ENV SERVER_PORT=9301 \    # 应用服务监听端口LANG=C.UTF-8 \        # 设置字符编码为 UTF-8LC_ALL=C.UTF-8 \      # 设置本地化字符编码JAVA_OPTS=""          # Java 虚拟机参数,可通过运行时覆盖# 设置时区为东八区(上海时间)
# 避免容器内时间与宿主机不一致导致的问题
ENV TZ=Asia/Shanghai# =============================================
# 网络配置
# =============================================# 声明容器运行时监听的端口
# 使用环境变量动态配置,提高灵活性
EXPOSE ${SERVER_PORT}# =============================================
# 应用文件部署
# =============================================# 将构建好的 Java 应用 JAR 包添加到镜像中
# 源路径:./target/service.jar(Docker 构建上下文中的路径)
# 目标路径:./app.jar(WORKDIR 相对路径)
ADD ./target/service.jar ./app.jar# =============================================
# Shell 配置
# =============================================# 指定 Dockerfile 中 RUN 命令使用的 shell
# 使用 Alpine 的默认 shell:/bin/sh
SHELL ["/bin/sh", "-c"]# =============================================
# 容器启动命令
# =============================================# 定义容器启动时执行的命令
# 使用 ENTRYPOINT 确保命令不可被覆盖,保证应用正确启动
ENTRYPOINT java \# 使用非阻塞的随机数生成器,显著加速应用启动-Djava.security.egd=file:/dev/./urandom \# 动态配置 Spring Boot 应用服务端口-Dserver.port=${SERVER_PORT} \# =========================================# 可观测性配置(已注释,按需启用)# =========================================# -Dskywalking.agent.service_name=your-service \      # 配置 SkyWalking 服务名称# -javaagent:/skywalking/agent/skywalking-agent.jar \ # 启用 SkyWalking Java Agent# =========================================# JVM 优化配置# =========================================-XX:+HeapDumpOnOutOfMemoryError \    # 内存溢出时生成堆转储文件,便于问题诊断-XX:+UseZGC \                        # 使用 Z Garbage Collector,低延迟垃圾回收器${JAVA_OPTS} \                       # 注入额外的 JVM 参数,支持运行时自定义# 启动 Spring Boot 应用-jar app.jar

右键DockerFile文件点击运行时配置

http://www.dtcms.com/a/550141.html

相关文章:

  • faster-whisper热词详解与程序设计
  • 电子电力技术的控制电路学习分享1
  • 原生JS实现虚拟列表:从基础到性能优化的完整实践
  • 万全网站建设Myeclipse怎么做网站
  • C#: Contains 方法
  • .NET 泛型编程(泛型类、泛型方法、泛型接口、泛型委托、泛型约束)
  • 网站建设研究方法建筑图纸字母代表大全图解
  • PocketBase轻量级后端解决方案
  • 【JavaWeb|day19 Web后端进阶 SpringAOP、SpringBoot原理、自定义Starter、Maven高级】
  • 织梦可以放两个网站网站内容架构
  • ENSP Pro Lab笔记:配置STP/RSTP/MSTP(4)
  • 关于公司网站建设阿里巴巴logo高清图
  • Appium使用指南与自动化测试案例详解
  • 做网站的实践报告四川网站建设seo优化
  • 农村智慧养老:探索新时代养老新路径
  • vim上手
  • 在线课程软件网站建设费用济南网站建设的费用
  • 做全景网站live writer wordpress
  • 网站后台使用说明试用网站建设
  • 工作汇报和技术分享PPT如何高效制作?我的实用经验
  • Nginx基础入门-web模块
  • 从零开始的云原生之旅(七):ConfigMap 和 Secret 配置管理
  • 潍坊企业网站设计怎么注册一个自己的品牌
  • 展示网站欣赏wordpress 官网
  • C++:const 的空间,常量也能占内存?
  • 学习FreeRTOS(互斥量)
  • 网站如何进行优化设计高端网站官网
  • 江苏五星建设网站长沙网页设计培训找沙大计教育预约网址
  • 蓝牙钥匙 第18次 蓝牙技术在物联网中的定位:与NFC、UWB和蜂窝网络的对比分析与协同发展
  • 办公室无缝访问海外AWS:中国企业全球化数据协作的组网之道