通过Docker部署Java项目的日志输出到宿主机指定目录

本文介绍了如何将Docker容器内的Java项目日志输出到宿主机的指定目录,提供了两种方法,选择了直接将日志打印到宿主机目录的方式。通过修改Dockerfile的ENTRYPOINT,创建shell脚本启动Java应用,并更新gitlab-ci.yml配置,实现了日志的顺利迁移。
摘要由CSDN通过智能技术生成

用上篇博客部署Java程序是ok的,不过Java日志打印在容器里, 不能满足原来ELK的日志搜集。

方法有2种:

1、在Docker容器内部加入日志收集工具,Filebeat或Logstash。

2、将打Docker内的日志打印到宿主机的目录。

本文用的第二种,下面再慢慢说思路,开始叻

先看项目不迷糊

1、首先 Dockerfile 里的 ENTRYPOINT配置Java日志输出无果

# 基础镜像使用Java
FROM java:8
LABEL name=shop-client-prod
LABEL version=v0.0.1
# 将jar包添加到容器中并更名为
# 注意:这个jar包文件名,请前方服务器 目录查看
COPY /shop-client/target/shop-client-1.0-SNAPSHOT.jar /usr/local/app/client.jar
# 容器暴露端口
EXPOSE 7071
# 这个暂且不用
# COPY target/lib /app/lib
ENTRYPOINT ["nohup","java","-Djava.security.egd=file:/dev/./urandom","-jar","-Dspring.profiles.active=master","/usr/local/app/shop-client.jar", ">client.out" , "&"]

改为执行shell脚本的方式,把启动Jar的指令拆出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值