kazeno memo

メモとか

Rootless modeでlinuxserver.ioコンテナのPUID/PGIDがうまく設定できない?

linuxserver.ioの提供するコンテナは、環境変数PUID(uid) PGID(gid)で実行ユーザーを指定できます。(例えば、PUID/PGID=1000とすれば一般ユーザーで実行できます。)

ただし、DockerをRootless modeで実行している場合、PUID=1000を指定するとホスト側は100999に、PUIDを指定しないと100910といったuid/gidになってしまいます。

これは、ホスト・コンテナ間のuid/gidマッピングが通常のDockerとRootless modeで異なることが原因だと思われます。

Rootless modeでは、ホストのuid 1000がコンテナ内のuid 0として扱われます。1 2

そして、Rootless mode上のlinuxserver.ioコンテナでは、uid/gidがこのようにマッピングされているようです。

PUID ホスト
PUID=指定せず 100910
PUID=1000 100999
PUID=0 1000

つまり、Rootless modeでlinuxserver.ioコンテナのuid/gidに1000を指定したい時は、明示的にPUID/PGID=0を指定する必要があるということです。