Docker クリーンアップ環境操作

Docker クリーンアップ環境操作

丁寧に掃除を始めましょう!

未使用ボリュームの一覧

docker ボリューム ls -qf dangling=true

未使用のボリュームをクリーンアップする

docker ボリューム rm $(docker ボリューム ls -qf dangling=true)

不要な画像をクリーンアップする

docker rmi $(docker イメージ | grep '^<none>' | awk '{print $3}')

掃除を続ける

docker システム プルーン

docker ボリュームのプルーニング

上記だけで十分です。他のコマンドはわかりません。

追加知識: Dockerの記事では、Dockerスペースをクリーンアップしてディスクスペースを解放する方法を説明しています。

dockerディレクトリをクリーンアップする方法

docker ディレクトリがシステムディスクをいっぱいにしてしまって移行が困難です。 手っ取り早い解決策があるかお聞きしたいです。 答えはイエスです。以下は、私がまとめた、本番環境やテストに適した典型的なケースです。次のように、docker ログをクリーンアップするスクリプトを作成します。

[root@www ~]# cat clean_docker_log_space.log 
#!/bin/bash
docker_log_files=$(/var/lib/docker/containers/ -name '*-json.log' を検索)
docker_logs_size=$(/var/lib/docker/containers/ -name '*-json.log' を検索 | xargs du -sc | tail -1 |awk '{print $1,"K"}')
free -h && sync && echo 1 > /proc/sys/vm/drop_caches #システムキャッシュを解放 echo -e "\033[32mdocker ログの合計サイズは $docker_logs_size\033[0m です"
 
$docker_log_filesにログイン
  する
   echo "現在、docker ログ、docker core ログをクリーンアップしています:$log"
    cat /dev/null > $log
    systemctl reload docker #既存のdockerに影響を与えずにdockerサービスをリロードします
  終わり 
 
無料 -h

結果は次のとおりです。

[root@www ~]# ./clean_docker_log_space.log 
       使用可能な使用済み空き共有バフ/キャッシュの合計
会員数: 976M 598M 112M 6.8M 264M 157M
スワップ: 511M 66M 445M
dockerログの合計サイズは80Kです
現在、docker ログ、docker コア ログをクリーンアップしています:/var/lib/docker/containers/7538f077348e3c9722fb90ed4b0a5c3d60d72112e989526767c63d55f5a76f3e/7538f077348e3c9722fb90ed4b0a5c3d60d72112e989526767c63d55f5a76f3e-json.log
現在、docker ログ、docker コア ログをクリーンアップしています:/var/lib/docker/containers/235d20190027e757a203f1b4d4093335fb92ba515f7a501448c36c1332c622a2/235d20190027e757a203f1b4d4093335fb92ba515f7a501448c36c1332c622a2-json.log
現在、docker ログ、docker コア ログをクリーンアップしています:/var/lib/docker/containers/685a7af447ce884de1e9bbeb5d4ca0ca99860096f71c33b4f9a4d15a427c5e00/685a7af447ce884de1e9bbeb5d4ca0ca99860096f71c33b4f9a4d15a427c5e00-json.log
       使用可能な使用済み空き共有バフ/キャッシュの合計
会員数: 976M 599M 176M 6.8M 200M 168M
スワップ: 511M 66M 445M
 
[root@www ~]# find /var/lib/docker/containers/ -name '*-json.log' | xargs du -sc | tail -1 |awk '{print $1,"K"}'
0K

Linux のスケジュールされたタスクにスクリプトを追加し、週に 1 回クリーンアップすることをお勧めします。これにより、Docker が追加のログ ファイルを生成しないようにすることができます。

制作環境は以下のとおりです

df -TH dockerはシステムディスクの93%を使用します

スクリプト clean_docker_log_space.log を実行します。クリーンアップ スクリプトを実行した後、df -TH を実行すると、docker がシステム ディスクの 43% を使用していることが示されます。

Docker の導入に関する提案

最後に、dockerアプリケーションをdockerカスタム構成ディレクトリにデプロイすることをお勧めします。

#まず、必要な容量のディスクをマウントし、マウントディレクトリとして/dataを選択します
[root@www ~]# mkdir -p /data
#Dockerを停止
[root@www ~]# systemctl dockerを停止します
 
#データを新しいディレクトリに移動する [root@www ~]# mv /var/lib/docker /data
#設定を変更し、--graph /dataを追加します
[root@www ~]# vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /data 
 
[root@www ~]# systemctl デーモンリロード
[root@www ~]# systemctl dockerを起動します 
[root@www ~]# systemctl で docker.service を有効にします 
/etc/systemd/system/multi-user.target.wants/docker.service から /usr/lib/systemd/system/docker.service へのシンボリックリンクを作成しました。
 

以上が、Docker環境のクリーンアップ操作の全てです。編集部が皆様にシェアさせていただいた内容です。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker ディスク領域クリーニングのソリューション
  • Docker クリーニングの一般的な方法と問題点
  • Docker が占有するディスク領域をクリーンアップする方法
  • Docker プライベート サーバー イメージを定期的にクリーンアップする方法
  • Docker によって生成されたジャンクファイルをクリーンアップする方法
  • Dockerリソースを素早くクリーンアップする方法
  • Docker クリーンアップ コマンド コレクション
  • Dockerデータを完全にクリーンアップする方法

<<:  WeChatアプレットのスクロールビューの改行問題を解決する

>>:  SQL 最適化チュートリアル: IN クエリと RANGE クエリ

推薦する

Mysql は null 値の first/last メソッドの例を実装します

序文MySQL が SQL SELECT コマンドと WHERE 句を使用してテーブルからデータを読...

MySQLトリガーの例の詳細な説明

目次トリガーとは何かトリガーを作成する複数の実行ステートメントを持つトリガーの作成制限と考慮事項要約...

MySQL 論理バックアップとリカバリ テストの概要

目次1. データベース論理バックアップとはどのようなバックアップですか? 2. よく使われる論理バッ...

MySQLストレージエンジンについて学びましょう

目次序文1. MySQL メインストレージエンジン: 2. さまざまなストレージエンジンがテーブルを...

期間限定フラッシュセール機能を実現するJavaScriptタイマー

この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...

JSは円形のプログレスバーのドラッグとスライドを実装します

この記事の例では、円形のプログレスバーのドラッグアンドスライドを実現するための具体的なJSコードを紹...

CSS ファンタスティックボーダーアニメーション効果の実装

今日、私はブログサイト shoptalkshow を閲覧していて、非常に興味深いこのインターフェース...

React ルーティング リンク構成の詳細

1. 属性へのリンク(1)ルーティングパスを配置する(2)指定された形式でオブジェクトを配置する{パ...

JS オブジェクトのコピー (ディープ コピーとシャロー コピー)

目次1. 浅いコピー1. Object.assign(ターゲット、ソース、ソース...) 2. スプ...

リストループスクロールを実現するための HTML+CSS+JavaScript サンプルコード

説明: 指定された時間内に前のノードのコンテンツを置き換えるタイマーを設定します。 1. キーコード...

マウスオーバーボタンアニメーションを実現する純粋な CSS3 パート 2

前の 2 つの章を終えて、ボタンのフローティング アニメーションについて新たな理解が得られましたか?...

YUM を使用して Linux (CentOS 7) に MySQL 5.7.18 をインストールする方法の詳細なチュートリアル

このプロジェクトでは MySQL を使用する必要があります。これまで Windows では常に確実に...

フロントエンド JavaScript におけるリフレクションとプロキシ

目次1. 反射とは何ですか? 2. JavaScriptで反映する2.1 Reflect.get(タ...

MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...