私は指示に従った。ここユーザーの名前空間の再マッピングを有効にするために使用されます。
ただし、コンテナ内では-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つのことを行う必要があります。
:Z
ボリュームバインディングを削除する必要があります。/etc/subuid
ホストのバインドされたフォルダに対する権限がそれぞれのUIDとGIDで始まることを確認する必要があります/etc/subgid
。つまり、(ホストコンピュータで)次を実行する必要があります。chown -R 100000:100000 vol/service