我正在尝试运行一个AWS ECS fargate任务内的elasticsearch容器(container).我已经在container上挂载了一个efs卷,并希望将elasticsearch的/usr/share/elasticsearch/dataMap到这个卷。但是当我运行该任务时,我得到以下错误x1c 0d1x,因为它是一个ecs fargate任务,所以我无法访问底层容器(示例)这样,如果是权限问题,我可以在运行时更改这些权限。
当我试图通过ecs容器定义更改权限时,即入口点[“sh”,"-c”]命令[“chown -R elasticsearch:elasticsearch /usr/share/elasticsearch/data”]
,我得到权限拒绝错误,当我使用sudo与chown时,我得到“sudo not found”
是否有任何解决方案,这我坚持它,我需要数据持久化,所以/usr/share/elasticsearch/data必须Map到efs
1条答案
按热度按时间1bqhqjot1#
因为它是一个ecs fargate任务,我不能访问底层容器(示例)
实际上,您可以使用ECS Exec
但是,听起来你的ECS任务根本没有访问EFS卷所需的权限。要解决这个问题,你应该为EFS卷创建一个EFS Access Point,在ECS任务中配置EFS挂载设置以使用EFS接入点,并将接入点配置为使用特定的Unix
OwnerUid
和OwnerGiD
,并对所有连接进行重新配置。您还应该确保您的ECS Task IAM Role具有以下EFS权限:
字符串