Docker の基盤技術: Docker の基盤となる 2 つのコア テクノロジーは、名前空間とコントロール グループです。 名前空間: コンテナ仮想化のコア技術であり、コンテナを分離し、コンテナ間の競合を解決するために使用されます。 これは主に次の 6 つの分離技術によって実現されます。
これら 6 つの項目が分離されている限り、他のシステム リソースが共有されている場合でも、コンピューターはそれらを 2 つの異なるシステムにあると見なします。 cgroup (プログラムのリソース使用量を制御する) cgroup を実装する主な目的は、さまざまなユーザー レベルでのリソース管理のための統一されたインターフェイスを提供することです。単一プロセスのリソース制御からオペレーティング システム レベルでの仮想化まで。 cgroup の役割: 1) リソース制限: cgroup はプロセス グループが使用するリソースの合計量を制限できます。 cgroup の適用: 1) メモリとスワップパーティションの制限: コンテナは物理メモリとスワップの2つの部分から構成されます。 Docker では、パラメータを使用してコンテナ メモリの使用量を制御できます。 -m または --memory: メモリ使用量の制限を設定する --memory-swap: スワップ(スワップパーティション)の使用制限を設定します // CentOS イメージに基づくと、メモリ制限は 200M で、スワップ パーティションのメモリは 300M です。 [root@sqm-docker01 ~]# docker run -it -m 200M --memory-swap 300M centos 制限されたメモリを表示するには、コンテナーに入ります。 [root@05a0be7b870a /]# cat /sys/fs/cgroup/memory/memory.limit_in_bytes 209715200 #バイト数を表示 [root@05a0be7b870a /]# cat /sys/fs/cgroup/memory/memory.memsw.limit_in_bytes 314572800 2) コンテナのCPU制限: コンテナ実験の CPU 重みを設定するには、-c または --cpu-shares を使用します。設定されていない場合、デフォルトは 1024 です。 // CentOS イメージに基づいて、CPU の重み制限が 512 の containerB という名前のコンテナを実行します。 [root@sqm-docker01 ~]# docker run -it --name containerB -c 512 centos [root@b2cf9f28ce1d /]# cat /sys/fs/cgroup/cpu/cpu.shares 512 3) コンテナのブロック io (ディスクの読み取りと書き込み) を制限します。
//testA という名前のコンテナを作成し、1 秒あたりのディスク書き込み量を 30 MB に制限します。 [root@sqm-docker01 ~]# docker run -it --name testA --device-write-bps /dev/sda:30MB centos テスト用のデータを書き込みます:
1秒あたりの書き込み量は80Mで、約26秒かかることがわかります。 通常ディスクに書き込む場合: 以上が今回ご紹介したDocker基盤技術に関するナレッジポイントの全てです。123WORDPRESS.COMをご活用いただき、誠にありがとうございました。 以下もご興味があるかもしれません:
|
<<: JavaScriptエンジンV8の実行プロセスの詳細な説明
Vue2.0/3.0双方向データバインディングの実装原理双方向データバインディングとは、データの変更...
マウス効果では、setTimeout を使用して固定時間にノードを生成し、ノードを削除し、生成された...
目次文字列オブジェクトのメソッド方法 1: indexOf() (推奨)方法 2: search()...
2日前に新しい会社に入社しました。その会社ではIntelli Ideaを使っています。Eclipse...
目次背景サーバーの依存関係バックエンド構成クロスドメインバックエンド構成の静的リソースアクセスではk...
目次1. オブジェクトの変更検出2. オブジェクトに関する質問配列変更検出3.1 背景3.2 実装I...
1. オーバーフロー:非表示 オーバーフロー非表示要素に overflow:hidden が設定さ...
目次序文: 1. デフォルト値に関する操作2. 使用上の提案要約:序文: MySQL では、テーブル...
目次ルートの場所が見つかりませんオフバイスラッシュ安全でない変数の使用スクリプト名$uri を使用す...
VScode リモートデバッグ Linux プログラムの問題について見てみましょう。具体的な内容は以...
この記事では、MySQLのプリコンパイル機能について紹介します。具体的な内容は以下のとおりです。 1...
最近、WeChat アプレットを作成しているのですが、いくつか問題が発生しました。インターネットでい...
vue スキャフォールディング -> vue.cli大規模で完全に機能する Vue プロジェク...
テーブルの背景色は、BGCOLOR 属性を通じて設定できます。基本的な構文<テーブル BGCO...
序文Reduce() メソッドは関数を累積器として受け取り、配列内の各値 (左から右へ) が単一の値...