CentOS7上で動作しているDockerでnginxを起動しようとすると、下記のエラーになりました。
これは忘れることはないと思うのですが、丸一日悩んだので、記録として残します。
$ docker-compose up -d nginx
Starting nginx ... error
ERROR: for nginx Cannot start service nginx: OCI runtime create failed: container_linux.go:380: starting container process caused: setup user: permission denied: unknown
「permission denied」で検索すると、「Dockerfile内で使用しているスクリプトファイルに実行権がない」ケースが見つかりましたが、自分の目の前のコンソールに表示されるエラーは、単にnginxを起動しただけでも表示されます。
このメッセージで検索すること約1日。その中に「SELinux」の文字がありました。
いつも痛い目にあっているSELinuxですが、もしや!と思って調べると、
$ getenforce
Enforcing
下記コマンドでSELinuxを止めると、「permission denied: unknown」のエラーは表示されなくなり、nginxが起動しました。
$ sudo setenforce 0