ホームページ 運用・保守 Docker docker の長所と短所は何ですか

docker の長所と短所は何ですか

Feb 21, 2022 pm 04:49 PM
docker

利点: 1. より迅速な配信と導入; 2. より効率的な仮想化; 3. より簡単な移行と拡張; 4. よりシンプルな管理; 5. 低い CPU/メモリ消費量。欠点: 1. 32 ビット Linux、Windows、または Unix 環境では使用できません; 2. Docker によるディスク管理は比較的制限されています、など。

docker の長所と短所は何ですか

このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

Docker は、新しい仮想化手法として、従来の仮想化手法と比較して多くの利点があります。まず、Docker コンテナは数秒で起動でき、これは従来の仮想マシン方式よりもはるかに高速です。次に、Docker はシステム リソースの使用率が高く、1 つのホスト上で数千の Docker コンテナを同時に実行できます。コンテナーは、コンテナー内でアプリケーションを実行するだけでなく、基本的に追加のシステム リソースを消費しないため、アプリケーションのパフォーマンスが非常に高く、システムのオーバーヘッドが最小限に抑えられます。従来の仮想マシン方式では、10 個の異なるアプリケーションを実行するために 10 台の仮想マシンが必要ですが、Docker では 10 個の分離されたアプリケーションを起動するだけで済みます。

Docker には、次の点で大きな利点があります。

1) より迅速な配信と展開

開発および運用保守 (devops) 担当者が最も望んでいることは、一度作成または構成すれば、どこでも通常どおり実行できることです。開発者は標準イメージを使用して一連の開発コンテナを構築でき、開発完了後、運用および保守担当者はこのコンテナを直接使用してコードをデプロイできます。 Docker を使用すると、コンテナーを迅速に作成し、アプリケーションを迅速に反復し、プロセス全体を可視化できるため、チームの他のメンバーがアプリケーションがどのように作成され動作するかを理解しやすくなります。 Dockerコンテナは軽くて速い!コンテナーの起動時間は数秒であるため、開発、テスト、デプロイにかかる時間を大幅に節約できます。

2) より効率的な仮想化

Docker コンテナの実行には追加のハイパーバイザー サポートは必要なく、カーネル レベルの仮想化であるため、より高いパフォーマンスと効率を実現できます。

3) 簡単な移行と拡張

4) 簡単な管理

5) 低い CPU/メモリ消費量

6) クイック スタート/シャットダウン

7) クロスクラウド コンピューティング インフラストラクチャ

Docker の制限は何ですか?

Docker は全能ではなく、もともと KVM などの仮想化手法の代替となるように設計されたものでもありません。ここでいくつかの簡単な要約を示します:

1) Docker は Linux をベースにしています64bit 32bit linux/Windows/unix 環境では使用できません。

2) LXC は Cgroup などの Linux カーネル機能をベースとしているため、コンテナのゲストシステムは Linux ベースのみとなります。

3) KVM などの仮想化ソリューションに比べて分離性がまだ不十分であり、すべてのコンテナがランタイム ライブラリの一部を共有します。

ネットワーク管理は比較的単純で、主に名前空間の分離に基づいています。

4) cgroup の cpu および cpuset によって提供される cpu 機能は、KVM などの仮想化ソリューションと比較して測定が困難です (そのため、dotcloud は主にメモリに基づいて課金されます)。

5) Docker によるディスク管理は比較的限定的です。

6) コンテナはユーザープロセスが停止すると破棄され、コンテナ内のログなどのユーザーデータを収集するのは不便です。

したがって、上記の制限は次の適用範囲に分類できます。

  • 1 ~ 2 については、Windows ベースのアプリケーションが必要な場合は基本的に合格できます。

  • 3 ~ 5 については、主にユーザーのニーズ (コンテナが必要か VM が必要か) によって決まりますが、Docker が IaaS として使用できないかどうかも判断します。

  • 6-7については、docker自体がサポートしていない機能ですが、他の手段(ディスククォータ、mount –bind)で解決できます。

つまり、コンテナと VM のどちらを選択するかは、分離とリソースの再利用性の間のトレードオフになります。また、たとえ docker 0.7 が非 AUFS ファイル システムをサポートできたとしても、その機能はまだ不安定で、商用アプリケーションでは問題が発生する可能性があります。AUFS の安定版にはカーネル 3.8 が必要なので、dotcloud の成功を再現したい場合は、カーネルのアップグレードを検討するか、サーバー バージョンの Ubuntu に切り替える必要があります (後者は deb アップデートを提供します)。これは、オープンソース コミュニティが ubuntu (カーネル バージョン) をサポートする傾向にある理由でもあります。

拡張知識: Docker のセキュリティ問題

1) Docker 環境のセキュリティ

Docker の勢いは過去 12 か月で非常に熱くなっており、多くの新しいテクノロジーがこれほど業界の関心を集めるのは珍しいと言われています。ただし、この興奮が実際の展開に移されると、企業は Docker のセキュリティに注意を払う必要があります。 Docker を知っている人なら誰でも、Docker がコンテナを使用してリソースを効果的に分離していることを知っています。そのため、コンテナはLinux OSやハイパーバイザーとほぼ同等のセキュリティ運用管理や構成管理を実現します。しかし、セキュリティの運用と管理、機密性、整合性、可用性を備えた共通コントロールのサポートに関しては、Docker にはがっかりするかもしれません。

Docker がクラウド プロバイダー プラットフォーム上で実行される場合、Docker のセキュリティはより複雑になります。クラウドプロバイダーが何をしているのかを知る必要があります。おそらく他のユーザーとマシンを共有しているかもしれません。 Docker コンテナにはセキュリティ要素が組み込まれておらず、Docker のような新興テクノロジーが比較的包括的なセキュリティ対策を講じることは困難ですが、これは将来的に登場しないという意味ではありません。

2) Docker はコンテナ展開のセキュリティを保証します

一部の専門家は、Docker のセキュリティ問題の本質を構成セキュリティに位置付け、Docker の現在の問題は安全なコンテナを構成することが難しいことであると考えています。現在、Docker 開発者は非常に小さなコンテナを作成することで攻撃対象領域を減らしていますが、問題は、本番環境で Docker コンテナを実行している大企業の従業員が、より多くの可視性と制御を必要とすることです。企業が数千または数万の Docker コンテナをデプロイする場合、これらの Docker コンテナが企業のセキュリティ ポリシーに準拠して構成されていることを確認することが重要です。
この問題を解決するには、Docker は Docker コンテナ展開のリアルタイムの可視性を高め、企業が策定したセキュリティ ポリシーを実装する必要があります。一部のベンダーもこの目的のためのソリューションを立ち上げており、オペレーターにリアルタイムの可視性を提供し、仮想インフラストラクチャーのセキュリティー・ポリシーをコンテナー・レベルで適用できるように支援しています。

推奨される学習: 「docker ビデオ チュートリアル

以上がdocker の長所と短所は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerによってコンテナを出る方法 Dockerによってコンテナを出る方法 Apr 15, 2025 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

Dockerによってコンテナを起動する方法 Dockerによってコンテナを起動する方法 Apr 15, 2025 pm 12:27 PM

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

Dockerを再起動する方法 Dockerを再起動する方法 Apr 15, 2025 pm 12:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop< container_id>);コンテナを起動します(docker start< container_id>);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Docker用のコンテナを作成する方法 Docker用のコンテナを作成する方法 Apr 15, 2025 pm 12:18 PM

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

Dockerからログを表示する方法 Dockerからログを表示する方法 Apr 15, 2025 pm 12:24 PM

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

See all articles