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

Spring Boot 微服务打包为 Docker 镜像并部署到镜像仓库实战案例

案例项目素材可以拉取我github上的:
https://github.com/AcademicTECHNERD/SpringCoudEurekaDemo
下面的案例将把我的product-service(也就是提供者)打包为镜像
执行maven命令:

mvn clean package -DskipTests

在这里插入图片描述
在根目录加一个dockerfile文件,内容如下:
我这里用的是本地的镜像,因为国内镜像的问题,在此之前可以运行docker pull openjdk:17-jdk-slim拉取到本地,具体可以看报错帖子

# 使用你已经拉取成功的本地镜像
FROM openjdk:17-jdk-slimENV TZ=Asia/Shanghai
WORKDIR /app# 替换成你的实际 JAR 文件名
COPY target/product-service-0.0.1-SNAPSHOT.jar app.jarEXPOSE 8081
ENTRYPOINT ["java", "-jar", "app.jar"]

在这里插入图片描述
这里发生了报错,具体报错和解决方法在另外一篇帖子:
报错: => ERROR [internal] load metadata for docker.io/library/openjdk:17-jdk-slim 解决探索与最终解决方案

执行构建命令:
docker build -t product-service:latest .
运行镜像:
docker run -d -p 8081:8081 --name product-service product-service:latest

查看服务是否运行:
docker ps
展示:
在这里插入图片描述

浏览器访问http://localhost:8081/products
在这里插入图片描述
此时就表明已经完全成功地将 product-service 打包为 Docker 镜像并运行起来了。
然后你去docker-desktop即可看到:
在这里插入图片描述

思考时间:

为什么要把微服务打包成 Docker 镜像,而不是本地运行?

docker打包后实现了以下环境一致性的效果:

  1. 无论在谁的电脑、什么系统、什么云平台运行,都是一样的;
  2. 消除了 “我这能跑你那不行” 的经典开发痛点;
  3. 包括 JDK版本、依赖、配置都封装在镜像里,不再靠系统环境。

后面部署只需要一句话的事,还可以很方便发的可以部署到 Kubernetes、云平台、远程服务器;也支持自动化部署(CI/CD),配合 Jenkins、GitHub Actions 等,用 docker-compose 可以一键启动/停止所有服务;多个微服务用一个 YAML 管理,更接近实际生产环境。
还有一个很重要的一点:本地跑只是“看着能用”,但不代表部署后也没问题。
而Docker 化后的服务结构更接近线上的部署结构,还可以提前发现网络连接、端口暴露、配置差异等问题。

相关文章:

  • Manus联合创始人:公司产品基于Claude和阿里千问大模型开发
  • 【项目归档】数据抓取+GenAI+数据分析
  • 【安装指南】Docker 安装最新版 Nginx 并进行项目的编排
  • 《Linux macOS :GCC升级方法》
  • rhce第二次作业
  • Elasticsearch 中的索引模板:如何使用可组合模板
  • 快速搭建并学会使用Mybatis!!
  • Linux中进程的属性:进程优先级
  • Pytorch-CUDA版本环境配置
  • The Traitor King (10 player 25 player)
  • 哈希函数详解(SHA-2系列、SHA-3系列、SM3国密)案例:构建简单的区块链——密码学基础
  • 游戏引擎学习第256天:XBox 控制器卡顿和修复 GL Blit 伽玛问题
  • 数据分析与可视化实战:从鸢尾花到乳腺癌数据集
  • AI日报 · 2025年5月03日|Perplexity 集成 WhatsApp,苹果传与 Anthropic 合作开发 Xcode
  • list类的详细讲解
  • day13 python不平衡数据集的处理(补)
  • 类与类之间的关系详解
  • InnoDB索引的原理
  • 实验二 软件白盒测试
  • 状压 DP 详解
  • 印观察|印巴战火与莫迪政府三重冒险:南亚火药桶已至临界点
  • 德国联邦议院6日下午将举行总理选举第二轮投票
  • 欧盟官员:欧盟酝酿对美关税政策反制措施,包含所有选项
  • 陕西礼泉一村民被冒名贷款40余万,法院发现涉嫌经济犯罪驳回起诉
  • 特朗普:不谋求第三个总统任期,中意万斯鲁比奥“接棒”
  • 黔西游船倾覆事故84名落水人员已全部找到,10人不幸遇难