この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 10789|答える: 1

8つの実際のDockerユースケース

[リンクをコピー]
掲載地 2018/08/24 14:40:09 | | |
Flux 7は、簡素化された設定、コードパイプライン管理、開発効率の向上、分離されたアプリケーション、統合されたサーバー、デバッグ機能、マルチテナント環境、迅速な開発など、8つの一般的なDockerユースケースを導入しています。 私たちはDockerについて話してきました。どのように使うか、どんな機会に使うかについて。 この記事があなたの助けになるかもしれません。 伝えたいことがあれば、コメントでお伝えください。

数週間前、私たちはDockerConに参加しました。これはDocker中心の初のテックカンファレンスです。 これは、Dockerオープンプラットフォーム上で分散アプリケーションを構築、提供、実行したい開発者や実務者を対象としており、自身のノートブック上でもデータセンター内の仮想マシンでも動作します。 私たちはカンファレンスに参加し、Flux7はDocker基盤のシステム統合パートナーであり、ゲストスピーカーも務めています。

当社のCEOであるアーテル・スレマン氏がクライアントの一人と話をしました。 DockerConはとても楽しかったものの、カンファレンスはDockerの細かい部分にばかり焦点を当て、Dockerのユースケースが軽視されていると感じました。 そこでこの記事では、Dockerの実用的なユースケースを紹介し、共有したいと思います。

Dockerのユースケースについて話す前に、まずDockerの特別な理由を見ていきましょう。

Dockerはほとんど追加オーバーヘッドなしで軽量な仮想化を提供しており、これはかなり良い点です。

まず、Dockerの追加オーバーヘッドを気にせず、仮想化のパワーを楽しめます。 次に、仮想マシンよりも同じマシン上でより多くのコンテナを作成できます。

Dockerのもう一つの利点は、コンテナの起動と停止が数秒でできることです。 Dockerの創設者であるSolomon Hykesは、LXCだけでなくDockerが成し遂げたことについて語ったことがあります。ぜひご覧ください。

ここでは、Dockerの利点を活かして低オーバーヘッドで一貫した環境を作る方法を示す、私のDockerのユースケースをいくつかご紹介します。

1. 簡略化された構成

これがDocker Companyが宣伝しているDockerの主なユースケースです。 仮想マシンの最大の利点は、ハードウェア施設上で異なるプラットフォーム(ソフトウェアやシステム)を動かせることです。Dockerは同じ機能を追加の負荷を抑えつつ提供します。 これにより、ランタイムや設定をコードにまとめてデプロイでき、同じDockerの設定を異なる環境で使うことで、ハードウェア要件とアプリケーション環境の結合を減らします。

2. コードパイプライン管理

前のシナリオはコードのパイプライン管理に非常に役立ちます。 コードは開発者のマシンから本番環境への最終展開まで、多くの中間環境を経ます。 各中間環境にはそれぞれ細かな違いがあり、Dockerは開発からリリースまで一貫した環境を提供し、コードパイプラインを大幅に容易にします。

3. 開発効率の向上

これにはいくつかの追加的な利点があります。Dockerは開発者の生産性を高めます。 より詳しい例を見たい場合は、2014年のDevOpsDays AustinやDockerConでのAaterの講演を参照してください。

異なる開発環境では、私たちは皆、二つのことをうまくやりたいと思っています。 まず、開発環境を本番環境にできるだけ近づけたいこと、そして次に、開発環境を迅速に構築したいということです。

理想的には、最初の目標を達成するために、各サービスを別々の仮想マシンで実行し、本番環境でのサービスの健全性を監視する必要があります。 しかし、毎回ネットワーク接続が必要なわけではなく、特に再コンパイルのたびにリモート接続が難しいのが厄介です。 これが特にDockerが得意としている点です。開発環境のマシンは通常比較的小さなメモリしか持っておらず、仮想環境を使う際には開発環境のマシンにメモリを追加する必要があることが多いですが、今ではDockerは簡単に数十のサービスをDocker上で実行できるようになっています。

4. アプリケーションを分離する

前述のシナリオのように、開発効率を高めるために複数のアプリケーションを1台のマシンで動かす理由は多岐にわたります。

コスト削減のためにサーバー統合や、モノリシックなアプリケーションを単一の緩やか結合サービスに分割することを検討することが多いです。 なぜ緩やか結合型アプリが重要なのか理解したいなら、スティーブ・イェーゲによるGoogleとAmazonを比較した論文を参照してください。

5. サーバーの統合

複数のアプリケーションが仮想マシンを通じて統合されるのと同様に、Dockerのアプリケーションを分離する能力により、複数のサーバーを統合してコスト削減が可能です。 複数のオペレーティングシステムによるメモリ使用量がなく、複数のインスタンス間で未使用メモリを共有できるため、Dockerは仮想マシンよりも優れたサーバー統合ソリューションを提供します。

6. デバッグ能力

Dockerはコンテナだけに限らず、コンテナでも機能する多くのツールを提供しています。 コンテナのチェックポイント設定やバージョン設定、2つのコンテナの違いを確認する機能など、多くの機能を提供しており、バグのデバッグに役立ちます。 この例はDockerのSave the Worldの記事で見ることができます。

7. マルチテナント環境

Dockerのもう一つの興味深いユースケースはマルチテナントアプリケーションで、重要なアプリケーションの書き換えを回避できます。 このシナリオの一例として、IoTアプリケーション向けの高速で使いやすいマルチテナント環境の開発があります。 このマルチテナンシーの基本コードは複雑で扱いが難しく、このようなアプリケーションの再計画は時間と費用の無駄です。

Dockerでは、Docker環境の高速さと効率的なdiffコマンドのおかげで、各テナントのアプリケーション層の複数のインスタンスに対して孤立した環境を簡単に、かつ低コストに作成できます。

このシナリオについてはこちらで詳しく知ることができます。

8. 迅速な展開

仮想マシンが登場する前は、新しいハードウェアリソースを導入するのに数日かかります。 Dockerの仮想化技術はこの時間を数分に短縮し、Dockerはオペレーティングシステムを起動せずにコンテナプロセスを作成するだけで、数秒で済みます。 これこそがGoogleとFacebookが重視していることです。

再起動のオーバーヘッドを気にせずに、データセンターで破壊リソースを作成できます。 通常、データセンターのリソース利用率は30%に過ぎず、Dockerや効率的なリソース配分を活用することでリソース利用率を向上させることができます。




先の:Centos7 Docker のインストールと設定の実務
次に:PHPとイーサリアムの相互作用
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com