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表示后台运行。

相关推荐
0思必得011 分钟前
[Web自动化] Web安全基础
运维·前端·javascript·python·自动化·html·web自动化
mr_orange_klj11 分钟前
关于K8S的ingress透明代理的AI问答(豆包)
云原生·容器·kubernetes
脏脏a12 分钟前
【Linux】Linux 初探:历史溯源与常用指令速览
linux·运维·服务器·基础指令
I · T · LUCKYBOOM12 分钟前
2.1编译安装--单台服务器托管多网站
linux·运维·服务器·网络
youxiao_9013 分钟前
Docker 容器(四)
运维·docker·容器
深耕AI14 分钟前
【深析】 Docker Desktop 中的容器文件系统:OverlayFS vs Containerd Snapshots
运维·docker·容器
无限大.19 分钟前
为什么“容器化“技术很重要?——从虚拟机到 Docker
运维·docker·容器
眠りたいです21 分钟前
Docker:Docker Network容器之间及容器与外部世界的通信桥梁
运维·docker·容器·docker网络
幺零九零零22 分钟前
Docker底层-OverlayFS
运维·docker·容器
goodlook012323 分钟前
监控平台搭建-监控指标展示-Grafana篇(五)
java·算法·docker·grafana·prometheus