目錄
- 一、問題描述
- 二、問題分析
- 三、解決問題
- 1、查看 Docker 磁盤使用情況
- 2、對可回收存儲資源執行清理命令
- 總結
系統環境:
- Docker 版本:19.03.13
- 操作系統版本:CentOS 7.8
一、問題描述
最近在執行 Docker 運行命令啟動鏡像時候,無法正常執行 Docker 啟動鏡像命令,提示了如下錯誤信息:
Error: Error response from daemon: devmapper: Thin Pool has 163051 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
二、問題分析
根據提示的錯誤信息來看,是 Docker 的 Thin Pool 池空間不足導致,可用需要創建更多該池的可用空間或者使用 dm.min_free_space 選項改變池的可用空間大小。
我們通過下面命令查看一下服務器上 Docker 信息,觀察資源使用情況:
顯示的內容如下:
...
Data Space Total: 507.4GB
Data Space Available: 100.67GB
Metadata Space Used: 100.4MB
Metadata Space Total: 20.147GB
Metadata Space Available: 20.047GB
Thin Pool Minimum Free Space: 100.74GB
Deferred Removal Enabled: true
Deferred Deletion Enabled: true
Deferred Deleted Device Count: 0
...
通過上面信息,觀察到 Thin Pool Minimum Free Space = 100.74GB 而 Data Space Available = 100.67,這說明 Data Space Available 可用空間以及低于 Thin Pool 所需最小空間,這會導致鏡像無法正常啟動。
三、解決問題
1、查看 Docker 磁盤使用情況
我們可以使用下面命令查看 Docker 磁盤使用情況:
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 500 12 38.31GB 34.5GB (90%)
Containers 64 21 157MB 4.109MB (2%)
Local Volumes 37 18 0B 0B
Build Cache 0 0
其中總共列出如下信息:
- TYPE:資源類型;
- TOTAL:資源總數目;
- ACTIVE:資源處于活動狀態數目;
- SIZE:資源使用空間大小;
- RECLAIMABLE:可回收資源大小;
其中的各個組件是指:
- Images:鏡像占用存儲空間大小;
- Containers:啟動的容器占用存儲空間大小
- Local Volumes:本地掛載卷使用存儲空間大小;
- Build Cache:構建緩存占用存儲空間大小;
如果想詳細查看系統占用情況,可用加 -v 命令查看各個資源使用存儲詳情
2、對可回收存儲資源執行清理命令
Docker 提供了存儲資源回收功能,命令如下:
清理命令詳情請查看 Docker 官方文檔:docker system prune
該命令會清理所有未使用的容器,網絡,映像(懸空的和未引用的)以及卷(可選),執行該命令后等待一段時間,回收足夠的資源后 Docker 運行鏡像恢復正常。
總結
到此這篇關于Docker服務器存儲資源池不足的問題解決的文章就介紹到這了,更多相關Docker服務器存儲資源池不足解決內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!