0 1 How to set permission on Volume mount

0

In my CDK app I have an ElasticSearch docker that starts on an EC2 instance and on start up it cannot write to the host path's Volume mount point directory which I set to /mnt/data/elasticsearch/ so the container stops,
The reason is the permissions on the directory when the instance is starts is 755. When I SSH into the instance and change it to 777 the container starts up and continues on without issue.

This is how I create the volume and mount point

 import software.amazon.awscdk.services.ecs.Volume  
  
 auto_scaling_groupp.addUserData("sudo chmod -R 777  /usr/share/elasticsearch/data);` // This has no effect   
  
 Volume hostVolume =  Volume.builder().name("elasticsearch").host(Host.builder()  
                         .sourcePath(/mnt/data/elasticsearch).build()).build();  
   
MountPoint elasticSrvrMntPt = MountPoint.builder().readOnly(false).sourceVolume(hostVolume.getName())  
                .containerPath("/usr/share/elasticsearch/data").build();  
  
ElasticDef.addMountPoints(elasticSrvrMntPt);  

I cannot find in the API how to either give permission to that container or change the permission on the folder
Thanks

Edited by: sdiventura on Apr 9, 2021 2:16 PM

質問済み 3年前1117ビュー
1回答
0

The reason is because I was using a bind mounts to mount at container, By default, the volume permissions are set to 0755 and the owner as root. The permissions would need be changed in the Elastic Dockerfile. Instead I used Volume to mount the host dir
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bind-mounts.html

回答済み 3年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ