docker磁盤空間清理的解決辦法
前段時(shí)間遇到docker磁盤空間太少,無法寫入數(shù)據(jù)的問題。起因是因?yàn)槲以诒镜兀∕ac Pro)運(yùn)行了多個(gè)mysql容器,并且導(dǎo)入了一部分線上數(shù)據(jù),最后還沒導(dǎo)入完畢就已經(jīng)沒有可用空間了。
我最開始給docker分配的磁盤空間是80GB,然后當(dāng)出現(xiàn)無法寫入的時(shí)候已經(jīng)是只剩余0.6GB了。
可以使用下面的命令來查看docker容器和鏡像磁盤占用情況:
docker system df
可以看到類似如下的輸出,包括鏡像(Images)、容器(Containers)、數(shù)據(jù)卷(Local Volumes)、構(gòu)建緩存(Build Cache):
TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 5 5 5.158GB 0B (0%) Containers 6 6 7.601MB 0B (0%) Local Volumes 4 3 46.64GB 207MB (0%) Build Cache 34 0 1.609MB 1.609MB
可以看到以上4種類型里面Local Volumes占用的磁盤空間最大。如果還想查看更詳細(xì)的報(bào)告,則使用如下命令。
docker system df -v
可以看到很多輸出,其中關(guān)于Local Volumes的是:
VOLUME NAME LINKS SIZE 641d4976908910dca270a2bf5edf33408daf7474a0f27c850b6580b5936b6dd0 1 40.1GB ovpn-data 1 33.51kB 267b52c5eab8c6b8e0f0d1b02f8c68bdaffba5ea80a334a6d20e67d22759ef48 1 6.325GB f4a3866ef41e3972e087883f8fa460ad947b787f2eafb6545c759a822fb6e30d 0 207MB
為了騰出空間,第一個(gè)想到的簡單粗暴的辦法是將所有停止的容器刪除,命令如下。
docker system prune -a
但是使用這個(gè)命令還是要謹(jǐn)慎,記得把需要使用的docker容器都先啟動(dòng)起來,不然那些沒有啟動(dòng)的容器就會(huì)被這條命令刪除了。基于安全的考慮,這個(gè)命令默認(rèn)不會(huì)刪除那些未被任何容器引用的數(shù)據(jù)卷,如果需要同時(shí)刪除這些數(shù)據(jù)卷,你需要顯式的指定 --volumns。
所以如果想強(qiáng)制刪除包括容器、網(wǎng)絡(luò)、鏡像、數(shù)據(jù)卷,可以使用如下命令。
docker system prune --all --force --volumns
第二個(gè)方法是把docker存儲(chǔ)數(shù)據(jù)的路徑改到磁盤空間更大的其他地方。如果是Mac用戶,可以在圖形化的Docker Desktop的設(shè)置里面修改Disk image location設(shè)置。
我嘗試過第二種辦法,把Disk image location改到外接的SSD上,并且嘗試把之前的數(shù)據(jù)先同步過去。后面發(fā)現(xiàn)一個(gè)很大的問題,就是在mysql容器中導(dǎo)入數(shù)據(jù)會(huì)非常緩慢,這大概就是外接SSD在docker容器中的寫入瓶頸。
假如你只是想運(yùn)行幾個(gè)容器,而不是本地存儲(chǔ)數(shù)據(jù)庫數(shù)據(jù),那么將docker數(shù)據(jù)存儲(chǔ)到SSD是一個(gè)不錯(cuò)的辦法。
到此這篇關(guān)于docker磁盤空間清理的解決辦法的文章就介紹到這了,更多相關(guān)docker磁盤空間清理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker部署firefox瀏覽器實(shí)現(xiàn)遠(yuǎn)程訪問
在使用docker時(shí),默認(rèn)情況下只能在本地進(jìn)行訪問,本文就來介紹一下docker部署firefox瀏覽器實(shí)現(xiàn)遠(yuǎn)程訪問,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01使用Docker+Jenkins自動(dòng)構(gòu)建部署
這篇文章主要介紹了使用Docker+Jenkins自動(dòng)構(gòu)建部署,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Docker Volumn容器間共享數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了Docker Volumn容器間共享數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Docker復(fù)制現(xiàn)有容器的實(shí)現(xiàn)方法
在使用Docker進(jìn)行應(yīng)用開發(fā)和部署時(shí),我們經(jīng)常需要基于現(xiàn)有的容器創(chuàng)建相似的環(huán)境,本文主要介紹了Docker復(fù)制現(xiàn)有容器的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Spring Cloud中使用jib進(jìn)行docker部署的步驟詳解
這篇文章主要介紹了Spring Cloud中使用jib進(jìn)行docker部署的步驟詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09在Idea中使用Docker部署SpringBoot項(xiàng)目的詳細(xì)步驟
這篇文章主要介紹了在Idea中使用Docker部署SpringBoot項(xiàng)目的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Docker Buildx構(gòu)建多平臺(tái)鏡像的實(shí)現(xiàn)
本文主要介紹了Docker Buildx構(gòu)建多平臺(tái)鏡像的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07使用TLS加密通訊遠(yuǎn)程連接Docker的示例詳解
這篇文章主要介紹了使用TLS加密通訊遠(yuǎn)程連接Docker的示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12