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

相关推荐
0xDevNull1 小时前
Linux服务器日志查看完全指南
linux·运维·服务器
songx_991 小时前
Linux基础1
linux·运维·服务器
菱玖1 小时前
Linux 系统性能排查常用指令
linux·运维·服务器
皮卡蛋炒饭.2 小时前
进程间通信
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Linux系统:信号】线程安全不等于可重入:深度拆解变量作用域与原子操作
java·linux·运维·服务器·开发语言·c++·学习
zfoo-framework2 小时前
docker compose安装gitea实现公司内部开发git私有仓库
docker·容器·gitea
w6100104662 小时前
CKAD-2026-Secret
运维·k8s·ckad
无巧不成书02182 小时前
基于WSL 2的Docker远程开发全栈实战指南
运维·docker·容器·docker desktop·wsl 2·vs code远程开发·容器化开发
Renhao-Wan2 小时前
Docker 核心原理详解:镜像、容器、Namespace、Cgroups 与 UnionFS
java·后端·docker·容器
一个天蝎座 白勺 程序猿2 小时前
踩坑生产后整理:KingbaseES表空间管理、auto_createtblspcdir参数深度解析与运维最佳实践
运维·数据库·kingbasees