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
: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
などはできていたのですが、そもそもローカルで作成したファイルの実行権限がないことが原因でした。
1❯ ls -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
参考
Share
関連記事
Docker ComposeでNext.jsとflask開発環境を構築する
2021.10.12
【Docker】Nginx+uWSGI+Flaskのコンテナ構築
2021.09.20
Docker基本コマンドまとめ
2021.06.30
【Docker】レジストリとリポジトリ
2021.08.29