Dockerfileからビルドしたイメージを実行したら”permission denied: unknown.”になった

スポンサーリンク

はじめに

Dockerfileからビルドしたイメージを実行したところ、permission denied: unknown.というエラーになったので、その原因と対処方法を紹介します。

事象

まずは、今回遭遇した事象について解説します。

下記のSonarQubeのリポジトリのファイルを参考にローカルでファイルを用意してDockerイメージをビルドしました。

docker-sonarqube/9/community at 9.8.0 · SonarSource/docker-sonarqube
:whale:SonarQubeinDocker.ContributetoSonarSource/docker-sonarqubedevelopmentbycreatinganaccountonGitHub.

しかし、ビルドしたイメージを実行したところ、下記のようなエラーが発生しました。

docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/opt/sonarqube/bin/run.sh": permission denied: unknown.
ERRO[0000] error waiting for container: context canceled

原因

今回の事象の原因としては、Dockerfile内でのchownなどはできていたのですが、そもそもローカルで作成したファイルの実行権限がないことが原因でした。

❯ ls -l
.rw-r--r-- masa staff 2.4 KB Mon Feb 13 19:15:02 2023 Dockerfile
.rw-r--r-- masa staff 2.1 KB Mon Feb 13 19:15:21 2023 run.sh
.rw-r--r-- masa staff 109 B  Mon Feb 13 19:15:41 2023 sonar.sh

解決方法

ということで、ローカルからイメージにコピーするファイルに実行権限をつけてあげることで解決しました。

chmod +x run.sh
chmod +x sonar.sh

参考

タイトルとURLをコピーしました