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 クエリ

推薦する

Linux および CentOS (サーバー) に zip および unzip コマンド機能をインストールする

Linux に zip 解凍機能をインストールする通常、 zip コマンドは Linux サーバーに...

Web ページのエンコーディングで gbk や gb2312 ではなく utf-8 が使用されるのはなぜですか?

選択肢がある場合は、UTF-8を使用することをお勧めします。実際、Windows システム自体のプロ...

Dockerfile echoは、指定されたファイル内の複数行のテキストを実装する方法を指定します。

Dockerfile内の指定されたファイルに複数の行を追加します。echoの後の「$」記号に注意し...

nginx がアップストリーム アドレスにジャンプしない問題の解決方法

序文今日、nginx で非常に奇妙な問題に遭遇しました。フロントエンドの tomcat がページにジ...

Linux での MySQL 5.7.17 の最新安定バージョンのインストール チュートリアル

ソースコードを通じて Linux に最新の安定バージョンの MySQL をインストールします: my...

よく使われるJavaScript配列メソッド

目次1. フィルター() 2. 各() 3. いくつか() 4. すべて() 5. 減らす() 6....

Apache Web サーバーを使用して 2 つ以上のサイトを構成する方法

人気があり強力な Apache Web サーバーで 2 つ以上のサイトをホストする方法。前回の記事で...

MySQLでSQLクエリ文がどのように実行されるかを分析する

目次1. MySQL論理アーキテクチャの概要2. コネクタクエリキャッシュ4. パーサー5. オプテ...

Kubernetes コントローラーとラベルの簡単な分析

目次01 k8sの一般的なコントローラーRCコントローラーデプロイメント コントローラーステートフル...

VMware に Centos8 をインストールする詳細なチュートリアル

CentOS公式サイトアドレスhttps://www.centos.org/まず必要なファイルをダウ...

MySQL シリーズ: MySQL リレーショナル データベースの基本概念

目次1. 基本概念2. データベース管理技術の開発3. リレーショナルデータベース(RDBMS)の概...

Dockerfile を使用したカスタムイメージの構築の実装

目次序文Dockerfile の紹介Dockerfileはイメージプロセスを構築するDockerfi...

Linux ユーザーとグループのコマンド例分析 [切り替え、ユーザーの追加、権限制御など]

この記事では、Linux のユーザーおよびグループのコマンドについて例を挙げて説明します。ご参考まで...

DockerをインストールしてAlibaba Cloud Image Acceleratorを構成する方法

DockerのインストールDocker はオープンソースなので、Windows システムへのインスト...