318

Docker が 12 GB のファイル システムを使用していることがわかります。

2.7G    /var/lib/docker/vfs/dir
2.7G    /var/lib/docker/vfs
2.8G    /var/lib/docker/devicemapper/mnt
6.3G    /var/lib/docker/devicemapper/devicemapper
9.1G    /var/lib/docker/devicemapper
12G     /var/lib/docker

しかし、これがコンテナにどのように分散されているかをどのように知ることができますか?

(新しいv1.3コマンド)を実行してコンテナにアタッチしようとしました

docker exec -it <container_name> bash

次に、「df -h」を実行してディスクの使用状況を分析します。機能しているようですが、「volumes-from」を使用するコンテナーでは機能していません。

たとえば、「mongo-data」と呼ばれる MongoDB 用のデータ専用コンテナーを使用します。

を実行docker run -it --volumes-from mongo-data busyboxし、df -hコンテナ内で実行すると、 /data/db(「mongo-data」データのみのコンテナ) にマウントされたファイルシステムが 11.3G を使用すると表示されますが、実行du -h /data/dbすると、2.1G のみを使用すると表示されます。

では、コンテナ/ボリュームのディスク使用量を分析するにはどうすればよいでしょうか? または、私の場合、「mongo-data」コンテナーのサイズを確認するにはどうすればよいですか?

4

11 に答える 11

21

ボリュームの部分が機能しなくなったので、興味がある人は上記のスクリプトを少し変更します。

for d in `docker ps | awk '{print $1}' | tail -n +2`; do
    d_name=`docker inspect -f {{.Name}} $d`
    echo "========================================================="
    echo "$d_name ($d) container size:"
    sudo du -d 2 -h /var/lib/docker/aufs | grep `docker inspect -f "{{.Id}}" $d`
    echo "$d_name ($d) volumes:"
    for mount in `docker inspect -f "{{range .Mounts}} {{.Source}}:{{.Destination}}                                                                                                                                                      
    {{end}}" $d`; do
        size=`echo $mount | cut -d':' -f1 | sudo xargs du -d 0 -h`
        mnt=`echo $mount | cut -d':' -f2`
        echo "$size mounted on $mnt"
    done
done
于 2015-09-02T21:56:12.733 に答える
2

これは最も簡単な方法です:

docker ps -s
于 2021-04-04T11:43:34.553 に答える