かべぎわブログ

ブログです

docker volumeでPermission deniedが発生したとき

dockerでボリュームマウントしたときにPermissionDeniedとなってマウントしたものにアクセスできない事象が発生した。

$ docker run -v /home/vagrant/docker_ansible/playbooks/:/work  local_ansible ls 
ls: cannot open directory '.': Permission denied

なんやろなーと思っていたらSELinuxが悪さをしている。
じゃあsetenforce 0しましょうっていうのもちょっと微妙だなー安直すぎるなーみたいなときにしらべていた解決法。

解決法

このとおり。
:zをつけてあげる

コンテナでデータを管理する — Docker-docs-ja 1.9.0b ドキュメント

たとえばこんなかんじ。

$ docker run -v /home/vagrant/docker_ansible/playbooks/:/work:z  local_ansible ls