Docker によって占有されているリソースをクリーンアップする方法
前書き:
docker をよく使用する友人は、docker がリソースをすぐに占有することを知っています。最も明白で検出しやすいのは、ディスク領域の占有です。では、docker によって占有されているシステム リソースをクリーンアップするにはどうすればよいでしょうか?
(学習ビデオ共有: プログラミング入門)
方法は次のとおりです:
docker が占有しているリソースを表示します
リソースをクリーンアップしています その前に、docker がどのシステム リソースを占有しているかを把握する必要があります。これを実行するには、さまざまなコマンドを組み合わせる必要があります。
docker container ls: デフォルトでは、実行中のコンテナのみがリストされます。-a オプションを指定すると、停止したコンテナを含むすべてのコンテナがリストされます。
docker image ls: イメージ情報のリスト -a オプションは、中間イメージ (他のイメージが依存するレイヤー) をリストします。
docker volume ls: データ ボリュームを一覧表示します。
docker network ls: ネットワークをリストします。
docker info: コンテナーやイメージの数などのシステムレベルの情報を表示します。
これらのコマンドを通じて docker によって使用されているリソースを確認した後、docker によって占有されているリソースの一部をクリーンアップすることに決めたと思います。使用されていないリソースから始めましょう。
未使用のリソースのみを削除してください
Docker は、停止したコンテナー、未解決のイメージ、コンテナーによって参照されていないネットワーク、およびビルド プロセスのキャッシュを削除するための便利な docker system prune コマンドを提供します:
$ docker system prune
セキュリティ上の理由から、このコマンドはデフォルトではどのコンテナからも参照されていないデータ ボリュームを削除しません。これらのデータ ボリュームを同時に削除する必要がある場合は、明示的に削除する必要があります。 --volumns パラメータを指定します。たとえば、次のコマンドを実行するとよいでしょう:
$ docker system prune --all --force --volumes
今回はデータ ボリュームが削除されるだけでなく、確認プロセスも行われません。 --all パラメータを使用すると、ぶら下がりイメージだけでなく、参照されていないイメージがすべて削除されることに注意してください。
ダングリング イメージとは何かをここで説明する必要がありますが、実際には、どのイメージからも参照されていないイメージとして単純に理解できます。たとえば、イメージを再構築した後、以前に構築された参照されなくなったイメージ レイヤーは、ぶら下がったイメージになります。
ローカル イメージが更新されると、次のようなイメージになります。画像の赤枠内の
# これらの画像中間イメージ (他のイメージが依存するレイヤー) と呼ばれます。
別のサブコマンドで prune を実行して、特定の種類のリソースを削除することもできます。
docker container prune # 删除所有退出状态的容器 docker volume prune # 删除未被使用的数据卷 docker image prune # 删除 dangling 或所有未被使用的镜像
Docker をインストール中の状態に戻す
ここでの「インストール中のステータス」とは、Docker の関連構成ではなく、リソースの使用状況を指します。これも比較的一般的なユースケースで、例えばバグ調査のため、ある日クリーンなDocker環境で本番環境を自動復元(本番環境のバックアップデータを使用)する必要がある。何をする必要があるのか見てみましょう?
前に紹介した docker system prune --all --force --volumns コマンドを思い出してください。このコマンドを実行する前にシステム内のすべてのコンテナが停止している場合、このコマンドはすべてのリソースを削除します。さて、システム内のすべてのコンテナを停止する方法を考えてみましょう。
docker container stop コマンドは 1 つ以上のコンテナを停止できます。必要なのは、システム内で実行中のすべてのコンテナを一覧表示することだけです。 docker は停止したコンテナを再度停止することを気にしないので、単純かつ失礼になって、すべてのコンテナ (停止したコンテナを含む) を直接リストしてみましょう。
$ docker container ls -a -q
-a はすべてのコンテナを表示し、-q は数値のコンテナ ID のみを表示します。
次に、このコマンドの実行結果を docker コンテナ停止コマンドのパラメーターとして使用します。
$ docker container stop $(docker container ls -a -q)
docker 環境を復元するための完全なコマンドは次のとおりです。
$ docker container stop $(docker container ls -a -q) && docker system prune --all --force --volumns
前の prune コマンドと同様に、特定の種類のリソースを完全に削除することもできます。
コンテナの削除: docker container rm $(dockercontainer ls -a -q)
イメージの削除: docker image rm $(docker image ls -a -q)
データの削除 ボリューム: docker volume rm $(docker volume ls -q)
ネットワークの削除: docker network rm $(docker network ls -q)
シェル エイリアスの作成
上記のコマンドは完了できます。この作業は面倒ですが、シェルのエイリアス関数を使用すると、これらのコマンドの実行を簡素化できます。
alias docker-clean-unused='docker system prune --all --force --volumes'alias docker-clean-all='docker stop $(docker container ls -a -q) && docker system prune --all --force --volumes'
把上面的命令写入到用户的 ~/.bashrc 文件中就可以了!
执行一次清理任务:
总结
经常清理系统资源不仅能够让系统运行的更流畅,也利于我们把精力集中在相关的重点资源上面。所以建议大家能够使用相关的资源清理命令,让 docker 保持清爽和高效。
相关推荐:docker入门教程
以上がDocker によって占有されているリソースをクリーンアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop< container_id>);コンテナを起動します(docker start< container_id>);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

障害のあるDocker画像ビルドのトラブルシューティング手順:DockerFileの構文と依存関係バージョンを確認します。ビルドコンテキストに必要なソースコードと依存関係が含まれているかどうかを確認します。エラーの詳細については、ビルドログを表示します。 -targetオプションを使用して、階層フェーズを構築して障害点を識別します。 Dockerエンジンの最新バージョンを使用してください。 -t [image-name]:デバッグモードで画像を作成して、問題をデバッグします。ディスクスペースを確認し、十分であることを確認してください。 Selinuxを無効にして、ビルドプロセスへの干渉を防ぎます。コミュニティプラットフォームに助けを求め、DockerFilesを提供し、より具体的な提案のためにログの説明を作成します。
