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

相关推荐
看-是灰机8 小时前
使用go语言实现对接
linux·开发语言·后端·docker·语言模型·golang·飞书
Urbano8 小时前
工装夹克、职业单西口袋工艺自动化改造深度解析
运维·自动化
草莓熊Lotso8 小时前
【Linux网络】深入理解Linux IO多路复用:从本质到select服务器实战
linux·运维·服务器·c语言·网络·数据库·c++
Zhu7588 小时前
在k8s部署alist 3.62.0
云原生·容器·kubernetes
fen_fen8 小时前
Filebeat 采集 应用日志部署 & Kibana 查询操作文档
linux·运维·服务器
取谖慕12.9 小时前
Prometheus+Alertmanager+node_exporter+grafana高可用
linux·运维·grafana·prometheus
小此方9 小时前
Re:Linux系统篇(四十五)信号篇·三:一文讲透 Linux 信号保存机制:block,pending,handler三张表到底在做什么
linux·运维·服务器
C+-C资深大佬11 小时前
GitHub Actions 自动化运维实战:从零到一构建高效 CI/CD 流水线
运维·自动化·github
一叶龙洲20 小时前
win11与Ubuntu之间同步配置、插件
linux·运维·ubuntu
CHANG_THE_WORLD20 小时前
12.总结:深入理解 Linux I/O 多路复用:select、poll、epoll 全解析
linux·运维·服务器