🍎

MacOSでDockerの"No space left on device"エラー:即対応

に公開

事情

Dockerでイメージを作成している最中に次のようなエラーが表示される:

ERROR: failed to copy files: copy file range failed: no space left on device

しかし、df -hなどで容量を確認したら十分あるのになぜか「ない」と表示される。

簡潔な説明

問題はDockerが使う仮想ボリューム(ディスク)には容量がなくなったこと。

細かいことはいい。MacOSで解決方法を教えて

先ず、可能なら要らないものを削除する。

$ docker image prune -f
$ docker system prune -f

Docker Desktopの場合

Settings -> Resources -> Advanced -> Virtual Disk Limitで容量を増やす

Rancher Desktopの場合

デフォルトとして、容量は100GBになっている。仮想ディスクは $HOME/Library/Application\ Support/rancher-desktop/lima/0/diffdiskである。

  1. Rancher Desktopを完全に終了する
  2. ターミナルを開いて、下記のコマンドを実行する。増やす容量は必要に応じて設定する。例として、50GBを増やす
$ cd /Applications/Rancher\ Desktop.app/Contents/Resources/resources/darwin/lima/Cellar/qemu/9.2.0_1/bin
$ ./qemu-img $HOME/Library/Application\ Support/rancher-desktop/lima/0/diffdisk +50G
  1. Rancher Desktopを起動
DXC Lab

Discussion