docker 容器中产生的日志数据应该通过文件映射写回到宿主机中吗?
最近在研究 k8 和 docker 容器,看到书中有如此介绍:
大概意思就是说产生的数据不要放在容器里面,例如在用容器跑了一个 rabbitmq,那该rabbitmq 生产的数据(持久化的消息、日志)都需要通过文件映射写会到宿主机吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,在实际部署中,容器并不是持久的,可能会因为一些原因重启,而重启后直接保存在容器中的数据就会丢失。
所以对于需要持久化的数据,应该使用数据卷(Volume)方法挂载到外部。
应该映射在宿主机。
一方面是由于重启后数据会丢失。
另外一方面是因为 docker 容器不能对扩张的空间自动回收,比如你生成了 1G的文件,再删除,容器是不会释放占用的磁盘空间(外部释放也很困难)。
为了容器更稳定和长久的运行,任何会增长的文件都应该映射在宿主机上。