141人参与 • 2025-02-14 • 云虚拟主机
本教程包括以下内容:
最后会引导大家加我的微信,方便随时交流!
docker作为一种轻量级容器化技术,可以极大地方便应用的部署和管理。通过docker,我们可以在任何支持docker的系统上轻松运行java应用,而不需要单独安装java环境。
安装docker确保系统上已经安装了docker。如果尚未安装,请参考官方文档进行安装。
加载基础java镜像使用以下命令加载java镜像(这里假设你已经有了一个本地的java镜像文件):
docker load -i <镜像文件名>
例如:
docker load -i jdk-1.8.0_432.tar
加载成功后,可以通过以下命令查看镜像:
docker images


准备项目所需文件
需要准备的文件包括:
demo-0.0.1-snapshot.jar)。application.properties)。start_1.sh)。以下是一个完整的start_1.sh脚本,用于启动java应用。每一部分都有详细注释,帮助你理解其功能:
#!/bin/sh
# 设置环境变量以支持utf-8编码
export lang=en_us.utf-8
tz='cst-8'
export tz
# 定义jar文件目录、jar文件名和日志目录
jardir="/ywc/zb/" # jar包的存放路径
logdir="/ywc/zb/" # 日志文件的存放路径
jarfile="demo-0.0.1-snapshot.jar" # jar文件名称
outfile="demo.log" # 输出的日志文件名称
# 将脚本运行信息写入日志
echo "starting application..." > $logdir$outfile
# 检查是否已有运行的java进程
threadid=$(ps -ef | grep $jarfile | grep -v grep | awk '{print $2}')
if [ ! -z $threadid ]; then
echo "$jarfile 已在进程 $threadid 中运行,尝试终止..." >> $logdir$outfile
kill -9 $threadid
echo "已终止存在的进程 $threadid。" >> $logdir$outfile
fi
# 启动java应用
nohup java -dfile.encoding=utf-8 -jar $jardir$jarfile \
-xmx1024m -xms1024m \
--spring.config.location=${jardir}application.yml \
--spring.config.location=${jardir}application.properties >> $logdir$outfile &
echo "启动 $jarfile..." >> $logdir$outfile
sleep 3s
# 实时显示日志
tail -f $logdir$outfile
下面是dockerfile的内容:
# 基于指定版本的java镜像 from jdk:1.8.0_432 # java版本 # 添加java应用的jar包到容器中 add demo-0.0.1-snapshot.jar /ywc/zb/demo-0.0.1-snapshot.jar # 设置时区 env tz=asia/shanghai run ln -snf /usr/share/zoneinfo/$tz /etc/localtime && echo '$tz' > /etc/timezone # 添加配置文件 add application.properties /ywc/zb/application.properties # 添加启动脚本 add start_1.sh /ywc/zb/start_1.sh # 设置工作目录 workdir /ywc/zb # 暴露应用端口 expose 18080 # 赋予启动脚本可执行权限 run chmod +x /ywc/zb/start_1.sh # 指定启动容器时运行的命令 entrypoint ["./start_1.sh"]
文件名字:demo-api
版本: 1.0
构建docker镜像
使用以下命令构建镜像:
docker build -t demo-api:1.0 .
运行docker容器
18080 端口
运行容器并映射端口
docker run -it -p 18080:18080 demo-api:1.0
如果需要进入容器调试,可以运行:
docker run -it demo-api:1.0 /bin/bash
访问容器暴露的端口,确保应用正常运行。例如,如果应用监听在18080端口,可以通过浏览器访问 http://<服务器ip>:18080。

通过以上步骤,你已经成功使用docker打包并运行了一个java应用镜像。这种方式可以极大地简化应用部署流程,并提高运行环境的稳定性。
到此这篇关于使用docker打包和运行java镜像的完整指南的文章就介绍到这了,更多相关docker打包和运行java镜像内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论