web-dev-qa-db-ja.com

Docker実行エラー:「シンプールに空のデータブロックがありますが、これは必要な最小値を下回っています」

以前は機能していた方法でDockerを実行しようとしていますが、「シンプールの領域不足」エラーが発生します。

docker run --privileged -d --net=Host --name=fat-redis -v /fat/deploy:/fat/deploy -v /fat/fat-redis/var/log:/var/log -v /home:/home fat-local.indy.xiolab.myserv.com/fat-redis:latest /fat/deploy/docker/fat-redis/fat_start_docker_inner.sh
docker: Error response from daemon: devmapper: Thin Pool has 486 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior.
See 'docker run --help'.

このエラーはどういう意味ですか? 「docker rmi」と here からのアドバイスを試しましたが、すべて無駄でした。

何か案は?

ありがとうございました

10
user3139774

古いバージョンのdockerでは、ループバックデバイスでデータ/メタデータを使用して実行することがデフォルトでした。これには問題があり、新しいバージョンではこのデフォルトが変更されています。 dockerがこのように構成されている場合、通常の更新(rpm/aptなど)では構成が変更されないため、修正するために完全な再インストールが必要でした。

ループバックデバイスを使用しないように古いバージョンを構成する方法の手順を含む記事は次のとおりです。 http://www.projectatomic.io/blog/2015/06/notes-on-Fedora-centos-and-docker-storage -drivers /

7
aaaarrgh

Dockerを再インストールする必要はありません。むしろ、/var/lib/docker directoryの下にあるすべてのコンテナ、イメージ、ボリュームなどをクリーンアップできます。

これらのイメージは、Dockerリポジトリから再度プルアップできます。 (これは、このDockerホストをDockerイメージの構築にのみ使用することを前提としています。)

3
Jerry Li

以下を使用して、不要なイメージをクリーンアップします。

docker image Prune -a --force --filter "until=240h"

詳細については、このドキュメントを参照してください: https://docs.docker.com/engine/reference/commandline/image_Prune/

2
Raj

私の問題はループバックデバイスの問題とは無関係でしたが、同じエラー状態が発生していました。 「docker images -a」は、name = none tag = noneの画像がスペースを占めることを示しました。これらの画像は「ぶら下がり」ではありませんでした。それらは現在アクティブなイメージによって参照され、削除できませんでした。

私の解決策は、「docker save」を実行してアクティブなイメージをtarファイルに書き込み、アクティブなイメージ(すべての子イメージを削除した)を削除してから、tarファイルから「docker load -i」を実行して新しいイメージを1つ作成することでした。シンプールスペースに関連するエラーがなくなりました。

Dockerを再インストールすると修正されますが、単にdockerを再インストールするとすべてのイメージがクリアされるためですが、再構築が始まり、将来的にこの問題が発生することになります。

2
JPS

Dockerを再インストールするとうまくいくことがわかりました。次のリンクを使用してください: https://docs.docker.com/engine/installation/linux/centos/

乾杯

0
user3139774