crest-cassia / oacis_docker

Dockerfile for OACIS
5 stars 3 forks source link

specify UID of the local host when `docker run` #66

Closed yohm closed 6 years ago

yohm commented 6 years ago

docker run -vでVolumeをマウントした際に、ローカルのuidとコンテナ内のuidが一致しないと、どちらかからしかファイルアクセスができなくなる。

参考 : https://denibertovic.com/posts/handling-permissions-with-docker-volumes/

解決策として、ユーザーのローカルのuidを環境変数か何かで指定して、コンテナ内のoacisユーザーのuidを同じuidに変更する処理を起動時に行う。-vを使わない場合はこれまでと同様の使い方でよいが、volumeをマウントする必要がある場合

docker run --name my_oacis -e LOCAL_USER_ID=`id -u $USER` -p 3000:3000 -dt -v $(pwd)/Result_development:/home/oacis/oacis/public/Result_development oacis/oacis

というコマンドで実行できるようにする。