序文 この記事では、最近私が遭遇した 2 つの状況について説明します。今後、新たな発見があれば追加していきます。 参照ドキュメント: https://docs.docker.com/engine/reference/commandline/dockerd/ アプリケーションログが多すぎる デフォルトでは、各 Docker コンテナには 10G のストレージ スペースがあります。このサイズを超えると、コンテナに問題が発生します。 デフォルトのコンテナ サイズを変更するには、dm.basesize パラメータの公式ドキュメントを参照してください。 ベースデバイスの作成時に使用するサイズを指定します。これにより、イメージとコンテナーのサイズが制限されます。デフォルト値は 10G です。シン デバイスは本質的に「スパース」であるため、ほとんど空の 10G デバイスはプール上の 10 GB のスペースを使用しないことに注意してください。ただし、デバイスが大きくなるほど、ファイル システムは空のボックスに使用するスペースが多くなります。 デーモンの再起動時にベース デバイス サイズを増やすことができます。これにより、将来のすべてのイメージとコンテナー (新しいイメージに基づく) に新しいベース デバイス サイズが使用されるようになります。 例 $ sudo dockerd --storage-opt dm.basesize=50G これにより、基本デバイスのサイズが 50G に増加します。既存のベースデバイスのサイズが 50G より大きい場合、Docker デーモンはエラーをスローします。このオプションを使用すると、ユーザーは基本デバイスのサイズを拡大できますが、縮小することはできません。 この値は、プルされたイメージによって初期化され継承されている可能性のある、システム全体の「ベース」の空のファイルシステムに影響します。通常、この値を変更するには追加の手順が必要です。 $ sudo サービス docker を停止 $ sudo rm -rf /var/lib/docker $ sudo サービス docker を開始 ここで遭遇した問題は、特定のモジュールが 10 分以内に 1G のログを出力することでした。この問題は、ログ ポリシーを変更することで解決できました。 Dockerd ログが多すぎる GitLab の docker サービスがあります。数か月実行すると、プッシュとプルができなくなります。原因は、/var/lib/docker のディスク容量がいっぱいになっているためです。ディスク容量がいっぱいになる理由は、dockerd ログが 10 GB を超える容量を占有しているためです。 ログファイルのパスは次のとおりです: 参考: https://stackoverflow.com/questions/31829587/docker-container-logs-taking-all-my-disk-space 以下の解決策を参照してください。 1. コンテナパラメータの開始 参考: https://docs.docker.com/engine/reference/commandline/run/ ログ記録ポリシーを構成するには、--log-opt ログ ドライバー オプションを使用します。 たとえば、--log-opt max-size=50m です。 2. グローバルデフォルト設定 daemon.json で設定され、Linux でのデフォルトの場所は /etc/docker です。 設定例: { "ログドライバー": "json ファイル", 「ログオプション」: { "最大サイズ": "10m", "最大ファイル": "3", "ラベル": "production_status", "env": "os,顧客" } } ログ構成リファレンス: https://docs.docker.com/config/containers/logging/configure/ daemon.json の完全な例については、https://docs.docker.com/engine/reference/commandline/dockerd/ を参照してください。 { "認証プラグイン": [], "データルート": "", "DNS": [], "DNSオプション": [], "DNS検索": [], "実行オプション": [], "exec-root": "", 「実験的」:偽、 "特徴": {}、 "ストレージ ドライバー": "", "ストレージオプション": [], "ラベル": [], 「ライブリストア」:true、 "ログドライバー": "json ファイル", 「ログオプション」: { "最大サイズ": "10m", "最大ファイル":"5", "ラベル": "somelabel", "env": "os,顧客" }, "mtu": 0, "pidファイル": "", "クラスターストア": "", 「クラスターストアオプション」: {}, "クラスター広告": "", 「最大同時ダウンロード数」: 3, 「最大同時アップロード数」: 5, "デフォルトのshmサイズ": "64M", 「シャットダウンタイムアウト」: 15, 「デバッグ」:true、 "ホスト": [], "ログレベル": "", "tls": 真、 "tlsverify": 真、 "tlscacert": "", "tlscert": "", "tlskey": "", "swarm-default-advertise-addr": "", "api-cors-ヘッダー": "", "selinux-enabled": false、 "userns-remap": "", "グループ": ""、 "cgroup-親": "", 「デフォルトのulimits」: { "ファイルなし": { "名前": "nofile", 「ハード」: 64000, 「ソフト」:64000 } }, 「初期化」: 偽、 "init-path": "/usr/libexec/docker-init", "ipv6": 偽、 「iptables」: 偽、 「IP転送」: false、 「ip-masq」: 偽、 「ユーザーランドプロキシ」:false、 "ユーザーランドプロキシパス": "/usr/libexec/docker-proxy", "ip": "0.0.0.0", "橋": ""、 "ビップ": "", "固定CIDR": "", "固定cidr-v6": "", "デフォルトゲートウェイ": "", "デフォルトゲートウェイv6": "", "icc": 偽、 「生ログ」:false、 「非配布可能アーティファクトを許可する」: [], "レジストリミラー": [], "seccomp-プロファイル": "", "安全でないレジストリ": [], 「新しい権限なし」: false、 "デフォルトランタイム": "runc", 「oom-スコア調整」: -500, "ノード汎用リソース": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"], 「ランタイム」: { "cc-ランタイム": { "パス": "/usr/bin/cc-runtime" }, "カスタム": { "パス": "/usr/local/bin/my-runc-replacement", "ランタイム引数": [ " - デバッグ" ] } }, "デフォルトアドレスプール":[{"ベース":"172.80.0.0/16","サイズ":24}, {"ベース":"172.90.0.0/16","サイズ":24}] } パラメータを設定したら、Docker サービスを再起動する必要があります。 docker-compose の設定 参考: https://docs.docker.com/compose/compose-file/compose-file-v2/ 設定例: ログ記録: オプション: 最大サイズ: '12m' 最大ファイル数: '5' ドライバー:json ファイル 補充する 私はこれを急いで書きました。私が投稿したリンクには非常に完全な情報が含まれており、この種の問題を解決できるはずです。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.11 圧縮バージョンを Windows 10 にインストールするための詳細なチュートリアル
>>: Jenkins を使用した Vue プロジェクトのワンクリック パッケージングと公開の実装
1. 問題MySQL の初期化時に発生する問題は、次のとおりです。 1. 「MSVCR120.dll...
インデックス作成は大学図書館の書誌インデックスの構築に似ており、データ検索の効率を向上させ、データベ...
ウェブ全体を検索して、さまざまな落とし穴を見つけましたが、問題は解決しませんでした。ついに自分でも分...
HTML コード内の連続するスペースまたは空白行 (改行) はすべて 1 つのスペースとして表示され...
目次基本的なHTML構造div とクラス名のショートカット キーを生成するクラス名を持つdiv ID...
方法1: .bashrcまたは.bash_profileファイルを変更するこれは、ホーム ディレクト...
正解useRouterの使用: // ルーターパス: "/user/:uid" ...
Vueのメソッドとプロパティ1. 方法使用法 1メソッド: {メソッド名: function(){}...
目次JDKをダウンロードしてインストールするTomcat 圧縮パッケージをダウンロードTomcatの...
文法規則 列名を選択 テーブル名1から INNER JOIN テーブル名2 ON テーブル名1.列名...
目次概要Big O 表記法とは何ですか?オー(1)の上) (n^2) O(logn) ですの上!)結...
関数のカリー化(黒い疑問符の顔)? ? ?カレー(黒い疑問符の顔)? ? ?これは完璧な中国語翻訳で...
目次1. 条件付きアクセス属性2. アロー関数の紹介1. 条件付きアクセス属性?. は ES2020...
1. 一般的な使用法: (1)%で使用する% は 1 つ以上の文字のワイルドカードを表します。たとえ...
1. Compose の紹介Compose は、マルチコンテナ Docker アプリケーションを定義...