私はDocker 20.10.14の実行を開始しました。ルートレスモードLinux Mint 20(Ubuntu 20.04ベース)。この目的のために、UID 127(グループはGID 139)というユーザーをdockerd
作成し、dockerd
以下を追加しました/etc/subuid
。/etc/subgid
dockerd:200000:65536
これで、そのユーザーとして実行されているDockerコンテナ内で、dockerd
バインドマウントディレクトリを介してホストファイルシステムにファイルを作成します。
- コンテナに UID 1000 を使用して作成すると、ホストシステムのユーザー 200999 にマップされます。
daemon
コンテナにUID 1(ユーザー)として作成すると、ホストシステムにUID 200000があります。- コンテナにUID 0(ユーザー)として作成した場合、
root
ホストにはUID 127があります。
したがって、子UID /サブGIDバインディングは「1ベース」として表示され、UID 0は含まれません。これがうまくいく方法ですか、それとも私が何か間違っていますか?コンテナのrootユーザーをホストで選択したUIDにマップできないのですか?では、どうすればよいですか?
~からhttps://unix.stackexchange.com/a/397168/107961
dockremap:165536:65536
165536は、UIDマッピングを開始したシステムUIDです(コンテナのUID 0)。
...地図の最初のUIDのようです。しなければならないUID 0にマップされますが、私が見るものはそうではありません。
nobody
別の奇妙なことは、ホストのUID 0のファイル所有者がコンテナのUID 65534()所有であることです。このようなことが起こるべきですか?