【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
相关推荐
yaoxin5211234 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
何极光5 小时前
IDEA集成Maven
java·maven·intellij-idea
遇见火星5 小时前
Docker Compose 完全入门:一键启动所有容器
运维·docker·容器·docker compose
程序员二叉5 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉5 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.05 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木6 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
Qt程序员6 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean6 小时前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
大白菜和MySQL6 小时前
java应用排查高线程
java·python