Docker構築エラー:Create more free space in thin pool or use dm.min_free_space option to change behavior.
2231 ワード
文書ディレクトリ問題現象 問題分析 ソリューション 参照リンク もんだいげんしょう
夜にdockerを使用してコンストラクションタスクを行う場合、
もんだいぶんせき
シンクホスト上でdocker infoコマンドを実行すると、結果の一部が以下のように表示されます.まず問題を分析すると、フィールド
ソリューション
閉じたすべてのコンテナを削除
すべてのdanglingミラー(tagなしミラー)を削除します.
すべてのdanglingデータボリューム(不要なvolume)を削除します.
暴力的なやり方は命令docker system pruneを使うことができる.docker system pruneコマンドは、ディスクのクリーンアップ、閉じたコンテナの削除、不要なデータボリュームとネットワーク、danglingミラー(tagなしミラー)に使用できます.docker system prune-aコマンドはより徹底的にクリーンアップされ、コンテナがなくDockerミラーを使用して削除することができます.この2つのコマンドは、一時的に閉じたコンテナと、一時的に使用されていないDockerミラーを削除します.
リファレンスリンク
https://docs.docker.com/engine/reference/commandline/system_prune/
夜にdockerを使用してコンストラクションタスクを行う場合、
docker run xxx
コマンドを実行すると、エラーが次のように返されます.docker: Error response from daemon: devmapper:
Thin Pool has 264381 free data blocks which is less than minimum required 264503 free data blocks.
Create more free space in thin pool or use dm.min_free_space option to change behavior.
もんだいぶんせき
シンクホスト上でdocker infoコマンドを実行すると、結果の一部が以下のように表示されます.まず問題を分析すると、フィールド
Thin Pool Minimum Free Space
の値は138.7 GBであり、実際に利用可能な値Data Space Available
は138.3 GBである.だから新聞を間違えた.Containers: 5
Running: 4
Paused: 0
Stopped: 1
Images: 3237
Server Version: 1.12.6
Storage Driver: devicemapper
Pool Name: docker-thinpool
Pool Blocksize: 524.3 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file:
Metadata file:
Data Space Used: 968.1 GB
Data Space Total: 1.387 TB
Data Space Available: 138.3 GB
Metadata Space Used: 262.7 MB
Metadata Space Total: 14.6 GB
Metadata Space Available: 14.33 GB
Thin Pool Minimum Free Space: 138.7 GB
......
ソリューション
閉じたすべてのコンテナを削除
docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
すべてのdanglingミラー(tagなしミラー)を削除します.
docker rmi $(docker images | grep "^" | awk "{print $3}")
すべてのdanglingデータボリューム(不要なvolume)を削除します.
docker volume rm $(docker volume ls -qf dangling=true)
暴力的なやり方は命令docker system pruneを使うことができる.docker system pruneコマンドは、ディスクのクリーンアップ、閉じたコンテナの削除、不要なデータボリュームとネットワーク、danglingミラー(tagなしミラー)に使用できます.docker system prune-aコマンドはより徹底的にクリーンアップされ、コンテナがなくDockerミラーを使用して削除することができます.この2つのコマンドは、一時的に閉じたコンテナと、一時的に使用されていないDockerミラーを削除します.
$ docker system prune -a
WARNING! This will remove:
- all stopped containers
- all volumes not used by at least one container
- all networks not used by at least one container
- all images without at least one container associated to them
Are you sure you want to continue? [y/N] y
リファレンスリンク
https://docs.docker.com/engine/reference/commandline/system_prune/