Windows下,基于Gradle用Docker发布自己的程序

方案1:

windows下打包程序,然后,上传到linux下,生成docker镜像,然后执行。

首先:

由于是采用Gradle管理的项目,打包的时候需要执行build任务。执行完成后,再build\libs目录下应该生成项目名-0.0.1-SNAPSHOT.jar文件。如果没有该文件,尝试使用assemble任务。

在cmd下,可以尝试执行java -jar 项目名-0.0.1-SNAPSHOT.jar, 如果打包正常,程序应该能够启动。

曾经遇到的BUG是,生成的文件执行的时候找不到主类(Main.class),原因是执行的任务不对,生成的文件名(项目名-0.0.1-SNAPSHOT-plain.jar)也不对,文件名中多了一个plain。说明只是用户代码,缺少响应的spring boot的内容。

第二:

登录linux,建立一个文件夹,将打包好的jar包上传进来。

编辑Docker文件。

执行docker build命令,生成镜像。

执行docker run,

复制代码
docker run -d -p 9002:8080 app:latest

指定端口。注意,左边的是暴露给外网的端口,右边是内网端口。-d表示后台运行。

相关推荐
LucidX4 分钟前
Kubernetes Pod 详解与Rancher 部署
容器·kubernetes·rancher
星环处相逢6 分钟前
从 Pod 核心原理到 Rancher 实战:K8s 容器管理全解析
容器·kubernetes·rancher
摸鱼仙人~7 分钟前
RAG 系统中的 TOC Enhance:用“目录增强”提升检索与生成效果
linux·运维·服务器
伞啊伞9 分钟前
k8s(四) Rancher 管理集群
容器·kubernetes·rancher
忍冬行者10 分钟前
k8s的etcd的一键备份和故障恢复
docker·云原生·容器·kubernetes·云计算
华如锦10 分钟前
一.2部署——大模型服务快速部署vLLM GPU 安装教程 (Linux)
java·linux·运维·人工智能·后端·python·vllm
China_Yanhy13 分钟前
金融级企业出口网关架构设计与实施指南Enterprise Egress Gateway Architecture & Implementation Guide
运维·金融·架构
QWsin13 分钟前
【k8s】为什么statefulSet初始化pod需要service name
云原生·容器·kubernetes
lin张13 分钟前
k8s(三)pod详解(精简版)
云原生·容器·kubernetes
Jacob程序员14 分钟前
Linux scp命令:高效远程文件传输指南
linux·运维·服务器