将微服务项目通过jar包的构建成镜像的形式发布到服务器最简单的方法

本文详细介绍如何使用Docker部署Java服务的过程,包括创建Dockerfile、构建Docker镜像及运行服务等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.先说最大的坑。无服务各个模块之间有类似于common的工具类。像这样的pom文件里面一定要记得不要引入maven打包插件执行clean install即可

2.clean package各个项目打包完成后。各个模块开始在服务器进行部署

3.首先。我这里使用的是secureCRT工具。直接把dockerfile文件放到桌面进行编辑。随后再粘贴回去

4.文件内容为

FROM java:8
VOLUME /root/mydockerbuild
ADD AeurekaServer-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 2223
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=dev"]

这里要注意修改jar名称和端口号

5.要记得把jar包和dockerfile文件放在同一目录下边

6.cd到相应文件目录下  然后执行docker构建命令  记得docker build -t 镜像别名 .   最后的“.” 一定要加上,代表当前目录

7.到这里镜像构建完成。开始执行  

8.到这里,服务启动。部署完成

 

### 若依微服务服务器部署教程 #### 1. 准备工作 为了顺利地在多个服务器上部署若依微服务,需先准备好必要的环境和工具。这括但不限于安装 Docker 和 Kubernetes 等容器化技术以及配置 CI/CD 流水线。 确保每台目标机器已正确设置并能够访问所需的基础设施组件,比如数据库、缓存和其他依赖项[^2]。 #### 2. 构建微服务镜像 创建合适的 `Dockerfile` 文件来定义应用程序及其运行时环境。对于基于 Java 的微服务来说,通常会从官方 OpenJDK 或 AdoptOpenJDK 基础镜像开始构建自定义镜像。下面是一个简单的例子: ```dockerfile FROM adoptopenjdk/openjdk11:jdk-11.0.11_9-alpine VOLUME /tmp ADD target/demo.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 此脚本假设项目已经打名为 demo.jarJAR 文件,并将其复制到容器内的指定位置。最后一步指定了启动命令[^3]。 #### 3. 使用Kubernetes管理集群 考虑到微服务的数量可能非常庞大(如 Netflix 拥有的约600个服务),手动管理和协调这些服务变得极其困难。因此建议采用 Kubernetes 这样的平台来进行编排和服务治理。通过编写 YAML 清单文件描述所需的服务拓扑结构,可以轻松实现自动化的滚动更新、回滚等功能。 例如,在 k8s 中定义一个 Deployment 资源对象如下所示: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: ruoyi-service-deployment spec: replicas: 3 selector: matchLabels: app: ruoyi-microservice template: metadata: labels: app: ruoyi-microservice spec: containers: - name: ruoyi-container image: your-docker-repo/ruoyi-image:latest ports: - containerPort: 8080 ``` 这段清单将会创建三个副本的 Ruoyi 应用程序实例,并监听默认 HTTP 端口 8080 上的请求。 #### 4. 实施持续集与交付(CI/CD) 建立高效的CI/CD流程有助于加快开发周期的同时保持高质量的标准。GitLab CI, Jenkins X 及其他类似的工具可以帮助团队快速迭代版本而不影响生产环境稳定性。每当提交新代码变更时触发流水线执行单元测试、静态分析等一系列质量门控措施;一旦验证无误,则立即推送至远程仓库供后续阶段拉取最新映像进行实际部署操作。 #### 5. 监视与日志收集 随着系统规模的增长,有效的监视和诊断能力变得更加重要。Prometheus 结合 Grafana 提供了一套强大的性能指标跟踪解决方案;ELK(Elasticsearch Logstash Kibana)栈则擅长处理海量的日志数据检索需求。合理利用上述开源框架组合,可以使运维人员及时掌握整个分布式系统的健康状况并迅速定位潜在问题所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值