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,然后再刷新浏览器看看图片是不是出来了!

相关推荐
天河归来9 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL10 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
砚底藏山河11 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
猿究院_夏燊11 小时前
MySQL 的四种隔离级别
java·数据库·mysql
码流子12 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质12 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
云创智城-yuncitys12 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot
文丑颜不良啊12 小时前
LeetCode1661~1680题目解析
java·leetcode
子非鱼@Itfuture12 小时前
关于前后端联调中登录状态/登录信息失效?
java·前端
郭小李12 小时前
openFeign入门
java·开发语言·前端