2017-05-17 11 views
2

私はDocker for Macを使用しています。ディスクスペースを節約したい私はいくつかの未使用ローカルイメージを取り除きたいと思っています。私の知る限り、ローカルファイルは〜/ Library/Containers/com.docker.dockerに保存されています。MacOS上のローカルDockerイメージを削除します

ドッカーからすべてのイメージとコンテナを削除しても、フォルダのサイズはGB単位で保持され、1バイトは解放されません。唯一のオプションは、com.docker.dockerフォルダを完全に削除することですが、未使用の画像だけでなく、すべてのデータを削除する場合にのみ意味があります。私は間違って何をしていますか?

+1

docker images

を持つ単一の画像を削除しますか? – Henry

+0

私はそれが正しくcliからイメージを削除しますが、com.docker.dockerフォルダが期待どおり縮小しないと述べました。コンテナやイメージを削除するのではなく、それに応じてディスクスペースを解放することではありません。 – Mountain

答えて

2

ここでは、macアプリケーション用ドッカーが実際に仮想マシンを実行しているということが起こっています。その仮想マシンには、qcow2ファイルと同じディスクがあります。そのディスクは遅れて割り当てられ、一度にすべてのスペースを占有することはありません。 vm内でスペースが使用されると、ディスクはホスト上で拡張されます。

ディスクイメージは、ディスクのサイズに達するまで拡大します。ファイルがVM内で削除されただけで、ホスト上のディスクイメージが再び縮小することはありません。

あなたのディスクイメージを縮小する可能性のある解決策があります:https://forums.docker.com/t/where-does-docker-keep-images-containers-so-i-can-better-track-my-disk-usage/8370/7

私は少数の人々は、ある程度の成功を収めて、このトリックを使用し見てきました。

+0

いくつかのことをより理解しやすいように説明してくれてありがとう。だから、それが解決策ではないとしても(そして現時点で明らかに「真の解決策」はない)、正解とマークする必要があります。 – Mountain

2

未使用の画像をすべて削除するには、docker images pruneを使用してください。

すべての未使用の画像(ダングリング)を除去するための別の方法もあります:docker rmi $(docker images -aq --filter dangling=true)

画像を削除するには、必要性を全く行わないdocker rmi <image>を使用しています。複数の画像を使用することができます。 docker rmi abcdef ghijklabcdefおよびghijklは画像ハッシュです。

これがすぐに役立たない場合は、ドッカーサービス(sudo service docker restart)を再起動してみてください。場合によっては、画像/コンテナはdeletedとマークされ、削除されません。しかし、彼らは再起動後です。

+0

あなたのヒントをありがとう。残念ながら彼らの誰も私の問題を解決しませんでした。 'docker rmi $(docker images -aq --filter dangling = true)'は '' docker rmi ''が少なくとも1つの引数を必要とすることを返します。 '' docker images prune''は空の画像リストを返します。 'sudo service docker restart'は端末に' sudo:service:command not found'と表示されますので、Dockerアプリを何度も再起動して再起動ボタンを使いますが、Finderは私に6,39 GBのフォルダサイズを教えてくれます。これらすべての試みの後に。 – Mountain

+0

私はmacの仕組みが分からないので、おそらく 'service'は正しいコマンドではありません。それは* nixで動作するので、* nixなので、Macでも動作すると思っていました。未使用の画像を手動で削除してみてください –

0

リストあなたのイメージを持つ: `ドッキングウィンドウの画像rm`と間違って何

docker rmi image_id

関連する問題