pytorch模型部署到web(pytorch模型部署到springbootweb)

pytorch模型部署到web(pytorch模型部署到springbootweb)目录 一 在 pom xml 文件中加入依赖 1 依赖内容 2 依赖说明和解释 3 使用流程 4 示例 5 注意 二 执行打包 1 使用命令打包 2 使用 IDEA 提供快捷方式 三 将 jar 包上传到服务器 nbsp 四 创建相关配置 nbsp 1 创建一个 Dockerfile 文件 nbsp 2 添加配置 3 举例 nbsp 五 生成 Docker 镜像 1 命令模版 nbsp 2 举例 1 命令 2 解释说明 nbsp 1 nbsp docker build 2 nbsp t gateway 1 1



目录

一、在pom.xml 文件中加入依赖

1.依赖内容

2.依赖说明和解释

3.使用流程

4.示例

5.注意

二、执行打包

1.使用命令打包

2.使用IDEA提供快捷方式

三、将jar包上传到服务器

 四、创建相关配置

 1.创建一个Dockerfile文件

 2.添加配置

3.举例 

五、生成Docker镜像

1.命令模版

 2.举例

(1)命令

(2)解释说明 

1. docker build

2. -t gateway:1.1

3. .

命令的工作流程:

 (3)注意点

3.运行效果

六、生成Docker容器

1.命令模版

2. 举例

(1)命令

(2). 解释说明

1. docker run

2. --name gateway

3. -p 8201:8201

4. -d

5. gateway:1.1

总结

后台运行:容器将在后台运行,不会占用当前的终端。

命令解析:

3. 运行结果


 


 

这个Maven 配置是用来配置 Spring Boot 项目的打包插件 ,它会帮助你构建一个可执行的 JAR 文件(Spring Boot 可运行 JAR 文件),以及在 Maven 构建过程中执行重新打包的任务。

  • : 该插件的 Maven 组 ID。 是 Spring Boot 提供的插件,用于构建和打包 Spring Boot 应用程序。
  • : 插件的工件 ID,在这个案例中是 。
  • : 插件的版本。通常,这个版本应该和你使用的 Spring Boot 版本一致,这样可以确保兼容性。 是一个变量,表示 Spring Boot 的版本号。你可以在  部分定义该版本,如:
 
  • : 指定你的 Spring Boot 应用程序的主类(即包含  方法的类)。在这个例子中是 ,你应该根据你的项目结构修改为正确的主类。
  • : 在构建过程中执行的目标任务。在这个例子中, 目标会被执行,这意味着该插件将重新打包应用并生成可执行的 JAR 文件。
  • : 这个目标会将你的项目重新打包成一个可执行的 JAR 文件,所有的依赖和资源都将被打包到该 JAR 中,以便你可以通过  命令运行应用。

  1. : 执行 Maven 构建命令,Maven 会通过  插件自动将项目打包成一个可执行的 JAR 文件。
  2. : 你可以通过执行生成的 JAR 文件来启动 Spring Boot 应用。

假设你将 Spring Boot 版本设置为 ,并且主类是 ,那么在 部分你可能会这样设置版本:

 

项目主类(启动类)  应该如下所示:

 

  1. 确保  标签中指定的主类路径是正确的,并且该类包含  方法。
  2. 在构建前,确保你已经配置了正确的 Spring Boot 版本,避免版本不兼容的问题。
  3.  目标的默认行为是将项目打包成一个 Spring Boot 可执行 JAR,你可以根据需要定制其他行为。

运行 命令,Spring Boot 会自动使用 重新打包项目,并将所有依赖和配置打包进一个单独的 JAR 文件。

IDEA中有提供的快捷方式,直接点击就行

 打包结果:

我这使用的是FinalShell直接进入到指定目录拖拽上传即可(其他工具我电脑上没有,这里就不一一展示了)

在jar包的同一目录创建一个Dockerfile文件

 

 

这里拿我刚刚打包的项目举例

 

 这里依旧拿我打包的gateway举例

(1)命令

 

(2)解释说明 

1. 

是 Docker 的命令,用于根据 文件和上下文构建镜像。 是描述如何构建镜像的脚本文件,包含了安装软件、设置环境、复制文件等步骤。

2. 

选项用于给构建的镜像指定名称和标签。 表示:

  •  是镜像的名称(可以是你选择的任何名字)。
  •  是镜像的标签(也可以是任何有效的标签)。标签通常用于标识不同版本的镜像。常见的标签有 (表示最新版本)或其他版本号如 、 等。

因此, 表示你构建的镜像将命名为 ,并标记为 版本。

3. 

代表当前目录,作为 Docker 构建的上下文(build context)。构建过程中,Docker 将从当前目录获取所有的文件(如果有 文件,则会排除其中指定的文件)并传递给 Docker 引擎,供 使用。

通常, 和构建过程中需要的文件会在同一目录下。如果你运行 ,Docker 会从当前目录(包含 )读取相关的文件来构建镜像。

命令的工作流程:
  1. Docker 在当前目录查找 。
  2. Docker 根据  中的指令构建镜像(例如复制文件、安装依赖、设置环境变量等)。
  3. 构建完成后,Docker 将创建一个名为  的镜像,保存到本地的 Docker 镜像库中。

 (3)注意点

 在命令中 这个点不要忘了  “  .  ” 

用生成的Docker镜像生成Docker容器并运行

 

 这里依旧拿我打包的gateway举例

(1)命令

 

(2). 解释说明

1. 
  • 这是 Docker 中最常用的命令,用于运行一个新的容器。
  •  会拉取指定镜像(如果本地没有的话),然后创建并启动一个容器。

2. 
  •  选项用于给启动的容器指定一个名称。
  • 在这个例子中,容器将被命名为 。
  • 使用容器名称可以方便你后续操作,比如查看日志、停止容器或删除容器等。例如,使用  来停止名为  的容器。

注意: 容器名称应该是唯一的,不能与其他正在运行的容器名称重复。如果你尝试给容器起一个已经存在的名称,Docker 会报错。

3. 
  •  选项用于设置端口映射,将容器内部的端口映射到宿主机的端口,使你能够从外部访问容器提供的服务。
  •  表示将宿主机的  端口映射到容器内的  端口。
    • 容器内的服务监听在端口 。
    • 你可以通过宿主机的  端口来访问容器中的服务。

例子: 如果容器运行的是一个 Web 应用,并且该应用在容器内部的端口 上监听,那么宿主机的 就能访问到容器内的应用。

端口映射原理:

  • 容器内的服务可能仅能通过容器内的 IP 访问,但通过  参数,将容器内部的端口暴露到宿主机后,外部网络请求就可以通过宿主机的指定端口访问到容器服务。

4. 
  •  代表 detached mode(后台模式)。
  • 如果不加 ,容器会在前台运行,并且你会看到容器的日志输出。如果加上 ,容器会在后台运行,当前终端会被释放出来,可以继续执行其他命令。
  • 在后台运行时,Docker 会显示容器的唯一 ID,而不会显示容器的标准输出(日志)。

后台模式的优势: 当你希望容器在后台持续运行,不占用当前终端时,使用 非常有用。

5. 
  •  指定了要启动的 镜像名称 和 版本标签
    •  是镜像的名称。
    •  是镜像的版本标签。Docker 默认使用  标签,如果没有显式指定版本标签,Docker 会拉取  标签的镜像。这里使用了  版本的镜像,表示启动的是该版本的镜像。

镜像和标签: 是镜像名称, 是版本标签。通过版本标签可以确保你运行的镜像是特定版本,而不是其他版本。

总结

这条命令的作用是:

  1. 创建并启动容器:基于  镜像,创建并启动一个名为  的新容器。
  2. 端口映射:将宿主机的  端口映射到容器的  端口,从而使容器内的服务能通过宿主机的端口进行访问。
  3. 后台运行:容器将在后台运行,不会占用当前的终端。

命令解析:

  • :容器名称为 。
  • :宿主机的  端口映射到容器的  端口。
  • :容器以后台模式运行。
  • :使用  镜像的  版本启动容器。

这样,通过这个命令,你将能够在后台运行一个名为 的容器,并且通过宿主机的端口 访问容器内部的服务。

ip+端口访问

如果不是出现拒接连接就成功了

我这里gateway网关所以访问找不到路径就出现404找不到路径的问题(属于正常现象) 

 出现一下页面就是错误的证明容器中项目报错,启动失败

又或者服务器ip端口没有放开

编程小号
上一篇 2025-03-24 16:11
下一篇 2025-03-24 23:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/14729.html