docker 容器中产生的日志数据应该通过文件映射写回到宿主机中吗?

最近在研究 k8 和 docker 容器,看到书中有如此介绍:

图片.png

大概意思就是说产生的数据不要放在容器里面,例如在用容器跑了一个 rabbitmq,那该rabbitmq 生产的数据(持久化的消息、日志)都需要通过文件映射写会到宿主机吗?

阅读 4.3k
2 个回答

是的,在实际部署中,容器并不是持久的,可能会因为一些原因重启,而重启后直接保存在容器中的数据就会丢失。

所以对于需要持久化的数据,应该使用数据卷(Volume)方法挂载到外部。

应该映射在宿主机。

一方面是由于重启后数据会丢失。

另外一方面是因为 docker 容器不能对扩张的空间自动回收,比如你生成了 1G的文件,再删除,容器是不会释放占用的磁盘空间(外部释放也很困难)。

为了容器更稳定和长久的运行,任何会增长的文件都应该映射在宿主机上。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题