docker 部署springboot容器日志处理

将jdk和需要的运行的jar构建成镜像之后,运行成容器之后,可以实时的输出日志,但是当容器挂掉之后,日志也便消失不见。在容器中可以运行bash命令的前提下,容器运行的时候会根据jar中配置的日志目录生成相应的日志文件,当容器停止的时候在容器中的所有的东西也会消失不见,查询原因时就会遇到问题。
 

方式一:

docker logs containerId/containerName

这种方式存在的问题是只能实时输出层,存储的路径在容器内部,容器挂掉之后日志变会消失不见。这种方式存在的问题是只能实时输出层,存储的路径在容器内部,容器挂掉之后日志变会消失不见。

方式二:

数据卷的方式

docker run -d -v /home/vincent/logs/:/logs/ -p 8081:8080  txxs/springboot

前边的是宿主机中日志的目录,后边是容器中日志文件的输出目录,指定暴露的端口号是8081。

这样就可以在外部docker的宿主机上看到日志,但是问题是再次启动镜像的时候日志会怎么办呢,这时候并不会重新新建文件而是直接在原文件的末尾添加,也就是这两个容器的日志文件合并为同一个。改变的办法可以很简单,虽然镜像都是一样的,但是可以动态的生成日志文件的名字,这样在启动镜像的时候因为日志文件的名字不同,也就不存在上边的问题了。具体日志文件的名字可以使用时间或者IP+序号的方式进行拼接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值