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

相关推荐
NE_STOP2 小时前
Docker--Docker Swarm集群
java
两年半的个人练习生^_^2 小时前
JMM 进阶:彻底理解 CAS 实现原理
java·开发语言
wuminyu2 小时前
Java锁机制之park和unpark源码剖析
java·linux·c语言·jvm·c++
W_LuYi1852 小时前
手撸极简zkEVM验证器:RISC-V电路实践
java·risc-v
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第102题】【并发篇】第2题:volatile 能否保证线程安全?
java·安全·面试
KobeSacre3 小时前
JUC 概述
java·开发语言
小bo波3 小时前
形式化方法 × UML
java·软件工程·uml·面向对象·形式化方法·tla+
就叫_这个吧3 小时前
IDEA中Javaweb项目创建+servlet,实现简单的信息录入获取
java·servlet·intellij-idea·web
程序员Jelena3 小时前
接口调用的代码实现:从入门到实战
java