自有Jar包生成Docker镜像

前言

经常会有些自己写的一些SpringBoot小项目,为了实现一些小的功能/需求,但是部署的时候,不管是生成jar包,还是war包部署到tomcat中,都容易因为需要部署的环境(比如java版本、tomcat版本、端口)等进行相应调整,而且nohup java-jar又显得不是很优雅,虽然可以自己写个start.sh,stop.sh,但始终不够方便和易于管理。那么对于这种小项目,部署到docker中可以很方便的解决这些痛点。

部署过程

生成DockerFile

我们可以通过自己编写Dockerfile来生成镜像。

首先创建dockerFile文件,然后编写文件内容如下

#基于jdk8的镜像
FROM openjdk:8
#复制当前目录名为app.jar的jar包到容器内  (根据你的实际情况调整)
COPY ./app.jar /tmp/app.jar
#暴露容器端口为8999 Docker镜像告知Docker宿主机应用监听了8999端口 (根据你的实际情况调整)
EXPOSE 8999
#容器启动时执行的命令 java -jar
ENTRYPOINT java -jar /tmp/app.jar

以上就是一个最基础最简单的dockerFile文件示例,详细的语法可通过 Docker Dockerfile | 菜鸟教程 学习

生成Docker镜像

将你的dockerFile与jar包上传至服务器同一目录后执行命令

#docker build
# . 表示当前目录 -f 参数指定Dockerfile文件  -t 表示 制作的镜像:tag  
docker build -f ./dockerFile -t mrzhang/mrzhangutil:1.0.0 .

如果你本身没有jdk的镜像,需要等待docker自动拉取,需要些时间

如果已有那生成速度还是挺快的,一两分钟就能完成,执行过程中如果没有报错,基本就生成成功了

接下来我们可以通过docker images 来查看Docker镜像是否正确生成

运行容器

通过命令使用镜像运行容器

#-d 表示后台运行容器 ,-p表示将宿主机的8999端口映射到容器中的8999端口
docker run -d -p 8999:8999 mrzhang/mrzhangutil:1.0.0

然后我们就可以通过docker ps -a 来查看我们的容器了

日志查看

我们可以通过docker logs CONTAINER ID 来查看我们的容器日志,如下图

docker logs 的详细用法,可以通过 Docker logs 命令 | 菜鸟教程 来学习

结尾

本文简单说明了如何将jar包通过docker方式部署的方式,当然这是通过命令的方式进行配置与使用的,你也可以通过各种docker可视化管理工具来实现,会更加便捷且易于管理。

posted @ 2024-12-06 12:09  地球上的张先生  阅读(15)  评论(0编辑  收藏  举报