簡體   English   中英

docker 設備 macOS 上沒有剩余空間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM