[英]docker no space left on device macOS
我正在嘗試構建一個需要復制一些大文件 (~75GB) 的 docker 映像,並且在運行以下命令時出現以下錯誤:
$ docker build -t my-project .
Step 8/10 : COPY some-large-directory
failed to copy files: failed to copy directory: Error processing tar file(exit status 1): write /directory: no space left on device
我認為該錯誤是由容器空間不足引起的(我已經使用 docker 首選項將 docker 磁盤映像大小增加到 160GB)。 如果是這樣,我如何增加 macOS(高山脈)上的最大容器大小(我讀到默認值為 100GB)?
Docker 對象會隨着時間的推移而累積,因此如果大量使用,您最終會耗盡可用存儲空間。 您可以確認這是docker system df的問題:
docker system df
您可以通過修剪未使用的對象來開始回收一些空間,舉幾個例子:
# Prune everything
docker system prune
# Only prune images
docker image prune
請務必先閱讀修剪未使用的 Docker 對象文檔,以確保您了解將要丟棄的內容。
如果你真的不能通過丟棄對象來回收足夠的空間,那么你總是可以分配更多的磁盤空間。
有關如何增加空間的說明:
https://forums.docker.com/t/no-space-left-on-device-error/10894/26?u=adnan
請注意,未標記的圖像和舊容器可能會占用大量空間。
要刪除未標記的圖像,請使用:
docker images
(以查看問題的嚴重程度),然后
docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}")
和容器類似,嘗試類似的東西
docker rm -f $(docker ps -aq)
(這將刪除所有容器,所以要小心)
2020 年更新:
docker system prune 也是一種快速刪除舊容器和未標記圖像的方法。
在 macOS 中使用 docker 首選項增加可用於 docker 的空間最終解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.