制限事項: 1. Docker は Linux 64 ビットに基づいており、32 ビット環境では使用できません; 2. LXC は Cgroup などの Linux カーネル機能に基づいているため、コンテナのゲスト システムはLinux ベース; 3. ネットワーク管理は制限されており、事前に割り当てられたインスタンスをネットワーク定義に追加する必要があります。コンテナーが提供されるたびに追加の手順が必要になり、エラーが発生しやすくなります; 4. ディスク管理は比較的制限されています; 5.ライブラリ制御は制限されています; 6. なし 監査証跡をクリアします。
このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
新しいコンテナ テクノロジである Docker を使用すると、同じ古いサーバー上でより多くのアプリケーションを実行できるため、プログラムのパッケージ化と配布も簡単になります。他のテクノロジに比べて、同じハードウェア上でより多くのアプリケーションを実行できます (メモリ、CPU、ハードディスクのオーバーヘッドが少ないため、コストが低くなります)。開発者は、シンプルですぐに実行できるコンテナ化されたアプリケーションを迅速に作成でき、管理と展開が容易になります。アプリケーションが簡単になります。
しかし、docker は使用上多くの問題にも直面しています。Docker は万能ではなく、元々は KVM などの仮想化手法の代替として設計されたものではありません。いくつかの欠点は避けられません。
docker の制限の一部を簡単に要約します。
1) Docker は Linux 64 ビットに基づいており、32 ビットの Linux/Windows/unix 環境では使用できません。
2) LXC は Cgroup などの Linux カーネル機能をベースとしているため、コンテナのゲストシステムは Linux ベースのみとなります。
3) ネットワーク制限
コンテナ ネットワーク (Docker ネットワーク) を使用すると、同じホスト下のネットワークにコンテナを簡単に接続できます。いくつかの追加作業を行うと、ホスト間でオーバーレイ ネットワーク機能を使用できます。しかし、それで終わりです。ネットワーク構成操作は制限されており、これまでは手動で行われていました。事前に割り当てられたインスタンスをネットワーク定義に追加する必要があるため、コンテナー スクリプトは拡張できますが、コンテナーをプロビジョニングするたびに追加の手順が必要となり、エラーが発生しやすくなります。
4) cgroup cpu および cpuset によって提供される CPU 機能は、KVM などの仮想化ソリューションと比較して測定が困難です (そのため、dotcloud は主にメモリに基づいて課金されます)。
5) Docker によるディスク管理は比較的限定的です。
6) コンテナはユーザープロセスが停止すると破棄され、コンテナ内のログなどのユーザーデータを収集するのは不便です。
7) 制限されたライブラリ制御
ライブラリは、コンテナに関するあらゆる会話の中心的なトピックになっています。パブリック ライブラリは、多数のプリセット コンテナを提供し、構成時間を大幅に節約できるため、最も価値があります。ただし、サンドボックスで使用するのは危険です。誰がどのようにイメージを作成したのかが分からないと、意図的または非意図的な安定性とセキュリティのリスクが無数に存在する可能性があります。企業にとっては、私設図書館の設立と維持が必要であり、その設立自体は大きな課題ではないが、その運営が問題となる。 Docker は、大規模なライブラリのイメージ管理用に限定されたメタデータ モデルを提供し、将来のインスタンスの機能が期待どおりに制限され、オーバーレイ機能がなくなることを保証します。
8) 明確な監査証跡がない
コンテナを提供するのは簡単ですが、いつ、なぜ、どのように、誰がコンテナを提供したかを知ることは困難です。したがって、提供された後は、監査目的で使用できる履歴はほとんど残りません。実行中のインスタンスの可視性が低い: 意図的なアクションがなければ、インスタンスがプロビジョニングされた後にコンテナを実行しているオブジェクトにアクセスするのは難しく、何が存在すべきで何が存在すべきではないかを知るのが困難です。
推奨される学習内容: "docker ビデオ チュートリアル "
以上がdocker の制限は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。