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

docker编写java的jar步骤

all-docker/

├── docker-compose.yml

├── a/

│ ├── Dockerfile

│ └── a.jar

└── b/

├── Dockerfile

└── b.jar

生成Docker打包部署文件

项目结构说明
项目根目录包含docker-compose.yml和两个子目录a/b/,分别存放服务A和服务B的代码及Docker配置。目标是通过Docker Compose统一构建和部署这两个服务。


配置服务A的Dockerfile (a/Dockerfile)

# 使用官方Java基础镜像
FROM openjdk:17-jdk-slim# 复制JAR文件到容器
COPY a.jar /app/a.jar# 指定启动命令
ENTRYPOINT ["java", "-jar", "/app/a.jar"]


配置服务B的Dockerfile (b/Dockerfile)

# 使用官方Java基础镜像
FROM openjdk:17-jdk-slim# 复制JAR文件到容器
COPY b.jar /app/b.jar# 指定启动命令
ENTRYPOINT ["java", "-jar", "/app/b.jar"]


编写docker-compose.yml

version: '3.8'services:service-a:build: ./a  # 指向服务A的Dockerfile目录container_name: service-aports:- "8080:8080"  # 假设服务A暴露8080端口restart: unless-stoppedservice-b:build: ./b  # 指向服务B的Dockerfile目录container_name: service-bports:- "8081:8081"  # 假设服务B暴露8081端口restart: unless-stopped


操作步骤

  1. 构建镜像
    在项目根目录执行以下命令,构建所有服务的Docker镜像:

    docker-compose build
    

  2. 启动服务
    启动所有容器并运行服务:

    docker-compose up -d
    

  3. 验证服务
    检查容器状态:

    docker-compose ps
    

    访问服务A的接口(如http://localhost:8080)和服务B的接口(如http://localhost:8081)。


注意事项

  • 端口冲突
    确保docker-compose.yml中定义的端口与本地或其他服务无冲突。

  • 环境变量
    如需动态配置,可在docker-compose.yml中添加environment字段:

    service-a:environment:- SPRING_PROFILES_ACTIVE=prod
    

  • 日志查看
    调试时可通过以下命令查看实时日志:

    docker-compose logs -f service-a
    

生成Docker打包部署文件

项目结构说明
项目根目录包含docker-compose.yml和两个子目录a/b/,分别存放服务A和服务B的代码及Docker配置。目标是通过Docker Compose统一构建和部署这两个服务。


配置服务A的Dockerfile (a/Dockerfile)

# 使用官方Java基础镜像
FROM openjdk:17-jdk-slim# 复制JAR文件到容器
COPY a.jar /app/a.jar# 指定启动命令
ENTRYPOINT ["java", "-jar", "/app/a.jar"]


配置服务B的Dockerfile (b/Dockerfile)

# 使用官方Java基础镜像
FROM openjdk:17-jdk-slim# 复制JAR文件到容器
COPY b.jar /app/b.jar# 指定启动命令
ENTRYPOINT ["java", "-jar", "/app/b.jar"]


编写docker-compose.yml

version: '3.8'services:service-a:build: ./a  # 指向服务A的Dockerfile目录container_name: service-aports:- "8080:8080"  # 假设服务A暴露8080端口restart: unless-stoppedservice-b:build: ./b  # 指向服务B的Dockerfile目录container_name: service-bports:- "8081:8081"  # 假设服务B暴露8081端口restart: unless-stopped


操作步骤

  1. 构建镜像
    在项目根目录执行以下命令,构建所有服务的Docker镜像:

    docker-compose build
    

  2. 启动服务
    启动所有容器并运行服务:

    docker-compose up -d
    

  3. 验证服务
    检查容器状态:

    docker-compose ps
    

    访问服务A的接口(如http://localhost:8080)和服务B的接口(如http://localhost:8081)。


注意事项

  • 端口冲突
    确保docker-compose.yml中定义的端口与本地或其他服务无冲突。

  • 环境变量
    如需动态配置,可在docker-compose.yml中添加environment字段:

    service-a:environment:- SPRING_PROFILES_ACTIVE=prod
    

  • 日志查看
    调试时可通过以下命令查看实时日志:

    docker-compose logs -f service-a
    

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

相关文章:

  • HDR简介
  • 视觉Slam14讲笔记第4讲李群李代数【更新中】
  • 【无人机】ardupilot事项笔记
  • 大端模式与小端模式
  • Openwrt 平台下移植rk3568 rknn_yolov5_demo 应用程序问题分析
  • Dioxus后端代码
  • 概念篇:ReactJS + AppSync + DynamoDB 性能优化核心概念
  • 实践篇:ReactJS + AppSync + DynamoDB 性能优化实践
  • GPS 定位:守护财产安全的 “隐形防盗锁”
  • Vue3 + Three.js 进阶实战:批量 3D 模型高效可视化、性能优化与兼容性解决方案
  • 海外VPS索引版本兼容性检查,版本兼容问题检测与多系统适配方法
  • uniapp 常用
  • C语言入门教程 | 阶段一:基础语法讲解(数据类型与运算符)
  • 现代AI工具深度解析:从GPT到多模态的技术革命与实战应用
  • 自由学习记录(101)
  • 2025最新口红机防篡改版本源码
  • Unity2D-图片导入设置
  • 今日赛事前瞻:德甲:斯图加特VS圣保利,意甲:莱切VS卡利亚里
  • AWS CloudTrail 监控特定 SQS 队列事件完整配置指南
  • 【算法】【优选算法】BFS 解决 FloodFill 算法
  • 量化交易 - Stochastic Gradient Descent Regression (SGDRegressor) 随机梯度下降回归 - 机器学习
  • AWS WAF防护IoT设备劫持攻击:智能设备安全防护实践
  • 分享mysql数据库自动备份脚本(本机和docker都可用)
  • avue crud表头跨列
  • 鸿蒙网络优化实战:从智能切换到缓存加速的完整指南
  • Redis-实现分布式锁
  • 软件工程实践五:Spring Boot 接口拦截与 API 监控、流量控制
  • 【LINUX网络】NAT _ 代理_ 内网穿透
  • 智慧养老+数字大健康:当科技为“银发时代”按下温暖加速键
  • rook-ceph的ssd类osd的纠删码rgw存储池在迁移时的异常处理