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

2023.02.13
2024.03.24
Docker
Dockerfile

はじめに

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

事象

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

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

docker-sonarqube/9/community at 9.8.0 · SonarSource/docker-sonarqube

docker-sonarqube/9/community at 9.8.0 · SonarSource/docker-sonarqube

:whale: SonarQube in Docker. Contribute to SonarSource/docker-sonarqube development by creating an account on GitHub.

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

1docker: 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.
2ERRO[0000] error waiting for container: context canceled

原因

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

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

解決方法

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

1chmod +x run.sh
2chmod +x sonar.sh

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee