【Docker】Docker部署Java程序

Maven中使用打包插件

xml 复制代码
<build>
        <finalName>duanjian</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.kewu.system.SysApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.github.ulisesbocchio</groupId>
                <artifactId>jasypt-maven-plugin</artifactId>
                <version>3.0.5</version>
            </plugin>
        </plugins>
    </build>

不使用插件打包会出现找不到主清单的问题

dockerfile镜像构建

最后打包的镜像就是docker-demo这个目录。

dockerfile

复制代码
# 指定基础镜像
FROM java:8-alpine
 
# 拷贝 java 项目包
COPY ./duanjian.jar /tmp/app.jar
 
# 暴露端口
EXPOSE 8090
 
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

执行命令

复制代码
docker build -t duanjian:1.0 .

docker run -d --name duanjian -p 8080:8080 duanjian:1.0
相关推荐
NE_STOP8 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
冬奇Lab9 小时前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
后端AI实验室13 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风15 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme15 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better15 小时前
学会与虚拟机对话---ASM
java
天朝八阿哥15 小时前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code
开源之眼17 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31618 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户9083246027319 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot