ChownはDockerユーザーの名前空間を再マッピングしてバインドされたボリュームを破壊しました。 「作業は許可されていません。」

ChownはDockerユーザーの名前空間を再マッピングしてバインドされたボリュームを破壊しました。 「作業は許可されていません。」

私は指示に従った。ここユーザーの名前空間の再マッピングを有効にするために使用されます。

ただし、コンテナ内では-v制限されたボリュームの所有権を変更できなくなりました。

私はFedoraでDockerを使用しており、docker-composeボリュームは次のようにバインドされています。

service_name:
  volumes:
    - ./vol/service:/opt/service:Z
  # other config info removed...

私は追加しようとしましたcap_add

service_name:
  volumes:
    - ./vol/service:/opt/service:Z
  cap_add:
    - CHOWN
    - SETGID
    - SETUID
  # other config info removed...

それは役に立ちません。ホストで実行していても、コンテナ内のrootユーザーはchownバインドされたフォルダ(この場合/opt/service)またはフォルダ内のすべてのアイテムにアクセスできません。chmod go+rwx vol/service

助ける?

答え1

この問題を解決するには、2つのことを行う必要があります。

  1. :Zボリュームバインディングを削除する必要があります。
  2. /etc/subuidホストのバインドされたフォルダに対する権限がそれぞれのUIDとGIDで始まることを確認する必要があります/etc/subgid。つまり、(ホストコンピュータで)次を実行する必要があります。chown -R 100000:100000 vol/service

関連情報