Ubuntu 20.04 + Docker: フォルダーの権限を修正する

Ubuntu 20.04 + Docker: フォルダーの権限を修正する

dockerUbuntu 20.04 をセットアップしていたときに、Docker もインストールすることを選択しました。グループを作成してユーザーを追加した以外は、設定に何も変更していません (つまり、Docker は root として実行されると思います) 。

私のコンテナは にデータを保存します/home/docker。 フォルダに FTP してファイルを追加/編集できるようにするために、すべてのサブフォルダの所有権を に変更しましたmyuser:myuser。その結果、今朝 SQL が正しく機能しなくなりました。最終的に、所有権を に復元する必要があると判断しroot:root、phpMyAdmin を使用してすべてのデータベースとテーブルを表示できるようになりました。

しかし、DBeaver を使用して接続しようとすると、次のようなエラーが繰り返し発生します。

'./database1/' のディレクトリを読み取れません (エラー番号: 13 "権限が拒否されました")

すべてのコンテナが適切に機能し、FTP でファイルを編集できるようにするために、docker フォルダの権限を設定する最適な方法と、他にどのような設定を変更する必要があるかを教えてください。

ありがとう!

答え1

コンテナには、コンテナ内で使用されるユーザーのディレクトリの所有権が必要です。これはイメージによって異なりますが、コンテナは分離されているため、すべての作成者がコンテナ内で使用するユーザーを選択できます。

実行すると、docker inspect containername構成に次の内容が表示されます。

"Config": {
         "User": "1001:1002",

この場合、コンテナ内のアプリケーションは、ユーザー 1001 とグループ 1002 で実行されます。そのためには、chown 1001:1002コンテナにボリュームとしてマウントするフォルダーで実行する必要があります。

の値Userが空の場合、root として実行されます。その場合、権限は関係ありません。

関連情報