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
を指定する必要があるということです。