コンテナ基礎となる実装技術:cgroupに、名前空間、unionfsの
CPU、メモリ、ハードディスク:リソースの限界を実現1.cgroup
分離を達成するために2.namespace資源を
3.unionfsユニオンファイルシステムを
cgroupの例:
ドッカーRUN -d#-m 100Mのhttpd -----------メモリの限界を実現
名前空間:
Linuxはリソースの6種類に対応し、6つの名前空間を使用しています:マウント、UTS、IPC、PID、ネットワークとユーザ
- 名前空間マウント: マウントは、コンテナのルックスは、ファイルシステム全体を持って聞かせて名前空間
- UTS名前空間:UTS名前空間、そのコンテナは、独自のホスト名を持つように。デフォルトでは、ホスト名のコンテナはその短いIDである、あなたは--hostnameまたは-hでパラメータを設定することができます。
- IPC名前空間:プロセス間通信を実装するために、独自の共有メモリとセマフォ(セマフォ)の間でコンテナに含ませ、そしてホストIPCや他のコンテナと混合ません。
- PID名前空間:ホストで実行中のプロセスの形でコンテナ。容器は、ホストPID、PID =処理容器1内のプロセスに対応するプロセスのPIDとは異なるコースないホストシステムDプロセスです。言い換えれば、コンテナはPIDの独自の独立したセットがあり、これは、PID名前空間が提供する機能です。
-
ネットワーク名前空間:LETコンテナは独自の個別のネットワーク・カード、IPルーティングおよびその他のリソースを持っています。
- ユーザーの名前空間:ホストユーザーは、コンテナが作成された見ることができない、コンテナは、独自のユーザーを管理できるようにしましょう。