将jar包制作成docker镜像
将jar包制作成docker镜像
1、准备可运行jar包
2、建立Dockerfile文件
文件内容:
FROM java:8
VOLUME /tmp
ADD xxx-sendemail-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /app.jar
1、FROM
格式:FROM 或 FROM :
定义基础镜像,后面的RUN是在此基础上运行。第一条指令必须为FROM指令,并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)
2、ADD
格式:ADD
定义变量吧。复制指定的到容器的中,可以是Dockerfile所在的目录的一个相对路径;可以是URL,也可以是tar.gz(自动解压)
注意与你的文件名一致
3、RUN
格式:RUN 或 RUN [“”, “”, “”]
每条指令将在当前镜像基础上执行,并提交为新的镜像。(可以用“\”换行)
3、docker制作镜像
在Ubuntu上制作的。准备工作:
Ubuntu docker安装,参照 Ubuntu 与 Windows共享文件
到终端存放jar包和dockfile的文件夹下
sudo docker build -t="***" .
-t 添加tag, . 代表当前目录(注意 “.”的存在)
4、查看生成的image
docker images
docker images|grep xxx
==================
run.sh
#!/bin/bash aa=`docker stop xxx-sendemail` echo $aa bb=`docker rm xxx-sendemail` echo $bb ca=`docker rmi xxx/sendemail-service` echo $ca b=`docker build -t xxx/sendemail-service .` echo $b docker run -d --name xxx-sendemail --restart=always xxx/sendemail-service;docker logs -f xxx-sendemail
$ sudo chmod +x run.sh
$ ./run.sh
查看日志(控制台输出)
docker logs -f xxx-sendemail --tail 500
docker logs xxx-sendemail |head -n 200
注:这种jar包需要打包Runnable JAR才行
golang技术交流群:316397059,vuejs技术交流群:458915921 囤币一族:621258209,有兴趣的可以加入
微信公众号: 心禅道(xinchandao)投资论道
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?