Docker は多くのスペースを占有します。コンテナを実行したり、イメージを取得したり、アプリケーションをデプロイしたり、独自のイメージをビルドしたりするたびに、ディスク領域が大量に占有されます。 この問題に悩んでいる方は、Docker がディスク領域をどのように使用し、それをどのように再利用するかを見てみましょう。 docker が占有するスペースは、次のコマンドで確認できます。 $ docker システム df
最後の それぞれのタイプを見てみましょう。 コンテナのディスク使用量 コンテナが作成されるたびに、次のようなファイルとディレクトリが作成されます。
ここで、Docker がインストールされたばかりであると仮定して、完全にクリーンなシステムから始めます。 まず、NGINX コンテナを起動します。
コンテナが実行中でイメージが使用されているため、現時点では再利用可能なスペースはありません。 ここで、コンテナ内に 100 MB の空のファイルを作成します。 $ docker exec -ti www \ dd if=/dev/zero of=test.img bs=1024 count=0 seek=$[1024*100] スペースをもう一度確認してください: コンテナが占めるスペースが増えていることがわかります。このファイルはローカルマシンのどこに保存されていますか? 前述の通り、コンテナの読み書き層に保存されます。 コンテナが停止すると、コンテナが占有していたスペースは再利用可能になります。 リサイクル方法は?コンテナを削除すると、それに関連付けられた読み取り/書き込みレイヤーが占めていたスペースも削除されます。 停止したコンテナをワンクリックですべて削除することもできます。 $ dockerコンテナのプルーン コンテナを削除した後、イメージをリサイクルすることもできます。 上記の docker rm -f $(docker ps -aq) を実行します。 $ docker コンテナ rm -f $(docker コンテナ ls -aq) ミラーディスクの使用 一部の画像は表示されません:
次のコマンドは、保留中のすべてのイメージを一覧表示します。 $ docker イメージ ls -f dangling=true このような画像を削除します: $ docker イメージ rm $(docker イメージ ls -f dangling=true -q) または: $ dockerイメージのプルーニング すべての画像を削除する場合は、次のコマンドを使用できます。 $ docker イメージ rm $(docker イメージ ls -q) コンテナによって使用されているイメージは削除できないことに注意してください。 データボリュームのディスク使用量 データ ボリュームは、コンテナー独自のファイル システムの外部にあるデータ ストレージです。 たとえば、コンテナ内のアプリケーションに写真をアップロードする機能がある場合、コンテナが終了するとコンテナ内のデータが削除されるため、アップロード後に写真をコンテナ内に保存することはできません。したがって、これらの写真はコンテナの外部、つまりデータボリュームに保存する必要があります。 たとえば、テスト用に MongoDB コンテナを実行し、大量のテスト データをインポートします。このデータはコンテナ内ではなく、データ ボリューム内にあります。これは、データ ボリュームが MongoDB Dockerfile で使用されるためです。 テストが完了すると、MongoDB コンテナは削除されますが、テスト データはまだ残っており、削除されていません。 使用されなくなったデータ ボリュームを削除します。 $ docker ボリューム rm $(docker ボリューム ls -q) または: $ dockerボリュームプルーニング キャッシュディスクスペースの構築 Docker 18.09 では BuildKit が導入され、ビルド プロセスのパフォーマンス、セキュリティ、ストレージ管理などの機能が向上しました。 ビルド キャッシュを削除するには、次のコマンドを使用します。 $ docker ビルダー プルーン ワンクリッククリーニング 上記の説明から、コンテナ、イメージ、データ ボリュームはすべて、スペースの再利用に役立つ 実際、docker システム レベルには $ docker システムプルーン このコマンドを定期的に実行するのは良い習慣です。 翻訳元: https://medium.com/better-programming/docker-tips-clean-up-your-local-machine-35f370a01a78 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
需要背景チームには統合テストが必要であり、そのためには、mysql や rabbitmq などのミド...
React Router を理解したいなら、まず歴史を理解する必要があります。より具体的には、Rea...
1. WEBを理解するWeb ページは主にテキスト、画像、ハイパーリンクなどの要素で構成されていま...
mysql 1 つのテーブル列を別のテーブルにコピーする場合によっては、フィールドから別の新しいフィ...
JD カルーセルは、動的な効果を追加せず、主に位置決めの知識を使用して、純粋な HTML と CS...
Docker-compose デプロイメント構成 Jenkins 1. Docker-compose...
####システム内の入出力の管理#### 1. システムの入力と出力のリダイレクトを理解する入力リダ...
この記事では、CSS3 を使用した Web サイトの商品表示の効果を紹介し、皆さんと共有します。詳細...
領事の基本概念サーバーモードとクライアントモードサーバー モードとクライアント モードは、consu...
Docker 学習https://www.cnblogs.com/poloyy/p/15257059...
このチュートリアルは Windows システムにのみ適用されます。インストールしたがまだインストール...
MySql インデックスインデックスの利点1. 一意のインデックスまたは主キー インデックスを作成す...
昨年の前半から開発と娯楽のために Linux を使い始めましたが、今では Windows には戻れま...
フロントエンドとバックエンドを分離した開発では、フロントエンドがバックエンドの API を呼び出して...
目次いつ使うか構造的ブランチコードいつ使うか選択動作を完了するには、2 つの列間で要素を直感的に移動...