lsofはDockerコンテナのバインドマウントパスの代わりに実際のパスを表示できますか?

lsofはDockerコンテナのバインドマウントパスの代わりに実際のパスを表示できますか?

特定のパスでどのファイルが使用されているかを見つけようとします。

lsof /mnt/cache

たとえば、次のようになります。

COMMAND     PID   USER   FD   TYPE DEVICE  SIZE/OFF       NODE NAME
Plex\x20S   338 nobody  cwd    DIR  259,1        74 3221225602 /config/Library/Application Support/Plex Media Server/Plug-in Support/Data/com.plexapp.system

ご覧のとおり、「NAME」には「/mnt/cache」パスは含まれていません。そして、ホストシステムには利用可能な "/config"ディレクトリはありません。

ls /config
/bin/ls: cannot access '/config': No such file or directory

これは、/configが特定のコンテナ内にのみ存在する/mnt/cache/appdata/plexのDockerバインドマウントであるためです。

docker inspect plex
...
        "Mounts": [
...
            {
                "Type": "bind",
                "Source": "/mnt/cache/appdata/plex",
                "Destination": "/config",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },

実際のソースコードパスを表示できますが、lsofそれはすべてですか?

Plex\x20S   338 nobody  cwd    DIR  259,1        74 3221225602 /mnt/cache/appdata/plex/Library/Application Support/Plex Media Server/Plug-in Support/Data/com.plexapp.system

関連情報