web-dev-qa-db-ja.com

dockerデバイスの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(High Sierra)の最大コンテナサイズを増やすことができますか(デフォルトは100GBです)?

6
Nick Fernandez

MacOSのdocker設定を使用してdockerが利用できるスペースを増やすと、最終的に問題が修正されました。

5
Nick Fernandez

スペースを増やす方法の説明:

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)(これによりすべてのコンテナーが削除されるため、注意してください)

18
PaulNUK

Dockerオブジェクトは時間の経過とともに蓄積されるため、使用量が多いと、最終的に使用可能なストレージを使い果たす可能性があります。これが docker system df の問題であることを確認できます。

docker system df

いくつかの例として、未使用のオブジェクトのPruneを実行することで、いくつかのスペースを再利用できます。

# Prune everything
docker system Prune

# Only Prune images
docker image Prune

未使用のDockerオブジェクトを削除する のドキュメントを最初に読んで、破棄する対象を確実に理解してください。

オブジェクトを破棄して本当に十分なスペースを取り戻すことができない場合は、常に より多くのディスクスペースを割り当てる を使用できます。

3
Brad Koch