docker ps

原来你的项目是部署在 Docker 容器里的!这就解释了为什么你之前直接 kill 进程后,服务可能会自动重启(Docker 的守护机制)。

既然使用了 Docker,更新代码的流程就与直接运行 Java 有所不同。你需要重新构建镜像并启动新容器才能让修改生效。

以下是 Docker 环境下标准的更新步骤:

第一步:上传新的 JAR 包

将本地打包好的新 JAR 包(newbee-mall-1.0.0-SNAPSHOT.jar)通过 WinSCP 等工具上传到服务器,覆盖掉宿主机上挂载的那个旧 JAR 包

第二步:重启容器(核心步骤)

因为 JAR 包是通过目录挂载(Bind Mounts)映射进容器的,所以你不需要重新执行 docker build,只需要让容器读取最新的文件即可。

请找到你的后端容器名称或 ID,然后执行重启命令:

复制代码
# 方式一:如果你知道容器名字(假设叫 newbee-backend)
docker restart newbee-backend

# 方式二:如果你不知道名字,可以先用 docker ps 查看正在运行的容器
docker ps
# 找到对应的 CONTAINER ID 后执行
docker restart <你的容器ID>

💡 补充说明:什么时候需要重新 Build?

  • 只改了业务代码(如今天改的图片路径): 只要把新的 JAR 包传上去,然后 docker restart 即可,速度极快。
  • 如果以后修改了 Dockerfile 本身(比如换了基础镜像、加了系统依赖): 那就必须使用 docker-compose up -d --build 或者手动 docker build 重新构建镜像后再启动了。

你现在去服务器上执行一下 docker restart,然后再刷新浏览器看看图片是不是出来了!

相关推荐
架构源启17 小时前
文档接入与智能解析:基于 Spring AI 1.1.x 的多格式解析、版面理解与结构化抽取
java·人工智能·spring
大模型码小白21 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
名字还没想好☜1 天前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
音符犹如代码1 天前
后端视角看 EventBus:发布订阅总线的原理、场景与用法
java·spring boot·guava
前端炒粉1 天前
手撕小汇总
java·前端·javascript
唐青枫1 天前
Java Kafka 实战指南:从 Topic、分区到 Spring Boot 可靠消息处理
java
脱胎换骨-军哥1 天前
C++零成本抽象理论深度拆解:现代C++如何在不牺牲性能的前提下提供高级语法封装
java·开发语言·c++
我是唐青枫1 天前
Java Netty 实战指南:从 NIO 线程模型到 TCP 编解码和心跳机制
java·tcp/ip·nio
小白说大模型1 天前
从向量嵌入到复杂 Agent:LLM、LangChain、LangGraph 完整科普
java·开发语言·人工智能·gpt·深度学习·langchain
风起洛阳@不良使1 天前
springIOC创建对象的方式--spring容器中的注入
java·spring