/var/lib/docker のディスク使用量の確認

/var/lib/docker のディスク使用量の確認

私はUbuntuサーバーを使用しており、内部ディレクトリのディスク使用量の概要を確認したいと思います。なぜglobを使用して内部ディレクトリのディスク使用量を確認/var/lib/dockerできないのか混乱しています。/var/lib/docker*

ディレクトリが/var/lib/docker明らかに存在し、内部にディレクトリがあります。

$ sudo du -s /var/lib/* | grep docker
865644  /var/lib/docker
8   /var/lib/docker-engine
$ sudo du -s /var/lib/docker/*
du: cannot access '/var/lib/docker/*': No such file or directory
$ sudo file /var/lib/docker
/var/lib/docker: directory
$ sudo ls /var/lib/docker | head -n 1
builder
$ sudo du -s /var/lib/docker/builder
20  /var/lib/docker/builder

なぜエラーが発生するのですかdu

du: cannot access '/var/lib/docker/*': No such file or directory

私のエラーは、root以外のユーザーに関連しているようです。ルートに切り替えると、次のコマンドを実行できるためですdu

# du -s /var/lib/docker/* | sort -n
4   /var/lib/docker/runtimes
4   /var/lib/docker/swarm
4   /var/lib/docker/tmp
4   /var/lib/docker/trust
20  /var/lib/docker/builder
20  /var/lib/docker/plugins
36  /var/lib/docker/volumes
60  /var/lib/docker/network
72  /var/lib/docker/buildkit
208 /var/lib/docker/containers
1880    /var/lib/docker/image
863328  /var/lib/docker/overlay2

ベストアンサー1

root以外のシェルはglobを拡張しようとしますが、でき/var/lib/docker/*ないためエラーが発生します(ユーザーは/ var / lib / dockerを読み取ることができないため)。その後、シェルはglobをそのまま保持し、文字通りアスタリスクを残し、次のようsudodu文句を言います。

du: cannot access '/var/lib/docker/*': No such file or directory

*.../var/lib/docker/ の下に指定されたファイルやディレクトリがないからです。

おすすめ記事