ECS Fargate中Grafana Docker挂载EFS后仍丢失数据求助
问题分析与解决方案
核心问题是挂载路径错误:Grafana默认将用户、仪表盘等持久化数据存储在容器内的/var/lib/grafana目录,而你当前挂载EFS到了/usr/app,完全没覆盖到实际的数据存储路径,所以重启容器后数据依然存在临时存储中,自然会丢失。
修复步骤
- 修正容器挂载路径:在ECS任务定义的容器配置里,把STORAGE AND LOGGING中的挂载点路径改为
/var/lib/grafana,确保EFS卷直接覆盖Grafana的数据存储目录。 - 确认EFS权限适配:Grafana容器默认以UID为472的
grafana用户运行,需要保证EFS目录对该用户有读写权限:- 可以通过EFS访问点设置目录的所有者为472:472;
- 或者在任务定义中添加初始化容器,执行命令
chown -R 472:472 /var/lib/grafana,提前修正挂载目录的权限。
- 验证任务权限与卷关联:检查Fargate任务使用的IAM角色是否包含EFS的访问权限(如
elasticfilesystem:ClientMount、elasticfilesystem:ClientWrite),同时确认卷配置与容器挂载点的关联没有错误。
完成以上配置后,重启任务,仪表盘和用户数据就会持久化到EFS中,不会再随容器重启丢失。
内容的提问来源于stack exchange,提问作者Mame Silmang Diouf
相关产品推荐
相关产品推荐

