uid
の場合 ホスト上 (id -u
) は uid
と同じではありません ドッカーコンテナ(多くの場合「ドッカー」)のユーザーの場合、この問題が発生する可能性があります。試すことができます:
chmod a+rwx -R project-dir/
核オプションはあなたの git
を作ります ワークスペースが汚れていると、非常にイライラするため、長期的な最善の解決策ではありません.出血が止まります。
問題をさらに理解するには、次の情報が役立つことがあります:
<オール>新しい答え:
この質問には多くのトラフィックがあるようで、現在利用可能なより良い解決策があります-fixuid は、その名前が示すように、コンテナーの起動時にコンテナー ユーザーの uid と gid を変更するための魔法の実行可能ファイルです (-u someone:somebody を使用)。
詳細な説明については、https://boxboat.com/2017/07/25/fixuid-change-docker-container-uid-gid/を参照してください。
以前の回答:
docker バージョン 1.7 以降では、次のように :Z または :z フラグを使用して、コンテナーへのアクセス許可を持つホスト ディレクトリをマウントするオプションがあります:
docker run -v ./api:/usr/src/app:Z
- :z - ラベル 'svirt_sandbox_file_t' を使用してすべてのコンテナーに権限を追加します
- :Z - 現在のコンテナ ラベルにのみ権限を追加します
docker-compose v1.4.0 の時点で、次のように docker compose で使用できます:
volumes:
- ./api:/usr/src/app:Z
追加する必要がありますが、これにはまだいくつかの問題があります (docker-compose を使用してホスト ディレクトリにアクセス許可を追加するを参照してください)。
参照:
Docker でボリュームを使用すると、SELinux で問題が発生する可能性があります - http://www.projectatomic.io/blog/2015/06/using-volumes-with-docker-can-cause-problems-with-selinux/
Docker ユーザー ガイド -https://docs.docker.com/engine/userguide/dockervolumes/#volume-labels
v1.4.0 の Docker-compose リリース ノート - https://github.com/docker/compose/releases/tag/1.4.0