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

feita há 3 anos1117 visualizações
1 Resposta
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

respondido há 3 anos

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas