pegasus-io / a-k8s-demo

Demo Express Server Deployment for k8s, with extras
1 stars 0 forks source link

permissions from docker to host #8

Closed Jean-Baptiste-Lasselle closed 4 years ago

Jean-Baptiste-Lasselle commented 4 years ago

pour la génération de la clefs ec2 https://dille.name/blog/2018/07/16/handling-file-permissions-when-writing-to-volumes-from-docker-containers/

Réparer le GID dans le conteneur, et refaire les tests

Jean-Baptiste-Lasselle commented 4 years ago

réglé le GID est pris à la volée et attribué au groupe bumblebee, mais les permissions sont toujours refusées :

jbl@poste-devops-typique:~/a-k8s-demo$ docker exec -it awscli_bee  bash
beeio@46b7f2e03716:/aws/playground$ echo 'test to see if I can copy a simple file to /aws/share inside contianer. /aws/share is declared as a volume, and mapped to host' > willy
beeio@46b7f2e03716:/aws/playground$ cp ./willy /aws/share/
cp: cannot create regular file '/aws/share/willy': Permission denied
beeio@46b7f2e03716:/aws/playground$ uid
bash: uid: command not found
beeio@46b7f2e03716:/aws/playground$ id -u
1000
beeio@46b7f2e03716:/aws/playground$ id -g
1000
beeio@46b7f2e03716:/aws/playground$ exit
exit
jbl@poste-devops-typique:~/a-k8s-demo$ id -u
1000
jbl@poste-devops-typique:~/a-k8s-demo$ id -g
1000
jbl@poste-devops-typique:~/a-k8s-demo$ docker exec -it awscli_bee  bash
beeio@46b7f2e03716:/aws/playground$ exit
exit
jbl@poste-devops-typique:~/a-k8s-demo$ 

La seule solution pour pouvoir écrire vers le docker volume, depuis l'ntérieur du conteneur, est d'utiliser un named volume, déclaré dans le docker-compsoe de la manière suivante :

volumes:
  beesecrets:
    driver: local
    driver_opts:
      type: "none"
      o: "bind,rw"
      device: "$PWD/beecli"