把java项目打包成docker镜像

原文链接:https://blog.youkuaiyun.com/u013768867/article/details/103715437

1、把服务打包成jar包,这里是 test.jar
在这里插入图片描述

2、安装了 docker 的 linux 服务器

3、创建 dockerfile 文件,文件名为 dockerfile,没有扩展名

# 设置本镜像需要使用的基础镜像
FROM  java:8  
  
# 把 app.jar 包添加到镜像中
ADD test.jar /app.jar
 
# 镜像暴露的端口
EXPOSE 8010
 
RUN bash -c 'touch /app.jar'
  
# 容器启动命令
ENTRYPOINT ["java","-jar","/app.jar"]
 
# 设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

4、把 test.jar 包和 dockerfile 放在 linux 服务器的同一个目录中
在这里插入图片描述

5、构建docker镜像

docker build -t test:v1.0 .

ps:   test 为镜像名称 

        v1.0是镜像版本  

        命令的最后有个“.” 表示在当前目录下面寻找 dockerfile 文件

6、查看镜像

docker images

7、启动

docker run -itd --name test -p <宿主机端口>:<镜像端口> test:v1.0

Java项目打包Docker镜像有多种方法,以下是几种常见方式: ### Maven + Dockerfile方式 - 使用Maven把Java文件打包可执行的jar包。 - 编写Dockerfile,用于定义镜像的构建规则。 - 把jar包和DockerFile两个文件上传到服务器上。 - 制作镜像。 - 启动容器。可以使用`docker run`运行打包好的镜像,查看是否能按需求运行,例如`docker run -d grpcdemo/helloworld-server:1.0.0`,`-d`表示后台运行容器 [^1][^4]。 ### 一条命令构建并推送方式 使用构建命令`mvn clean install dockerfile:build -Ddockerfile.tag=${BUILD_TAG} dockerfile:push`。此命令的作用包括:将项目打包jar包,根据变量传递标签生版本号并构建Docker镜像,最后推送到Docker镜像仓库 [^2]。 ### Jib插件方式 在`pom.xml`文件中添加Jib插件(前提是电脑安装了Maven和Java的JDK才能功完编译),然后在Spring项目根目录的命令行输入`mvn compile jib:dockerBuild`进行打包 [^3]。 ```bash # Maven + Dockerfile方式示例 # 1. 使用Maven打包jar包 mvn clean package # 2. 编写Dockerfile # Dockerfile示例 FROM openjdk:11 COPY target/your-project.jar /app.jar CMD ["java", "-jar", "/app.jar"] # 3. 上传jar包和Dockerfile到服务器 # 4. 制作镜像 docker build -t your-image-name:tag . # 5. 启动容器 docker run -d your-image-name:tag # 一条命令构建并推送方式示例 mvn clean install dockerfile:build -Ddockerfile.tag=your-tag dockerfile:push # Jib插件方式示例 # 在pom.xml添加Jib插件后执行 mvn compile jib:dockerBuild ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值