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

相关推荐
木童6624 分钟前
Docker 容器操作(资源限制、数据卷容器、端口映射、容器互联)
运维·docker·容器
irisart5 分钟前
第二章【NGINX 开源功能】—— 七层反向代理(下)
运维·nginx
prettyxian7 分钟前
【linux】进程概念(2)Linux进程的生命密码:从fork到完全独立
linux·运维·服务器
Trouvaille ~7 分钟前
【Linux】库制作与原理(一):静态库与动态库的制作使用
linux·运维·服务器·c语言·汇编·动静态库·编译链接
热爱专研AI的学妹19 分钟前
Coze-AI 智能体平台:工作流如何成为智能体的 “自动化引擎”?解锁零代码落地新范式
运维·数据结构·人工智能·自动化
梦想的旅途220 分钟前
从 0 到 1:构建外部群自动化的全链路监控大屏
运维·自动化
HIT_Weston20 分钟前
73、【Ubuntu】【Hugo】搭建私人博客:Hugo&PaperMod 兼容问题
linux·运维·ubuntu
清平乐的技术专栏23 分钟前
新电脑验机工具介绍及避坑指南
运维·电脑
xixiyuguang29 分钟前
nginx tar离线安装 ubuntu22.04
运维·nginx
丁丁丁梦涛40 分钟前
nginx解决域名代理到IP+端口的平台静态资源和接口地址问题
运维·tcp/ip·nginx