この記事は Google Cloud Translation APIを使用した自動翻訳です。
いくつかの文書は原文を読むのに良いかもしれません。
Docker は、コンテナー化とも呼ばれるオペレーティング システム レベルの仮想化を実行するコンピューター プログラムです。コンテナーを使用してアプリケーションを作成、デプロイ、および実行するために使用されます。コンテナーは互いに分離されており、独自のツール、ライブラリ、および構成ファイルがバンドルされています。
Docker は、コンテナー化とも呼ばれるオペレーティング システム レベルの仮想化を提供するコンピューター プログラムです。 2013 年に最初にリリースされて以来、開発者やシステム管理者にとって最も人気のあるツールの 1 つになりました。コンテナーを使用してアプリケーションを作成、デプロイ、および実行するために使用されます。
コンテナーは互いに分離されており、独自のツール、ライブラリ、および構成ファイルがバンドルされています。これにより、環境ごとにアプリケーションを構成する必要がないため、さまざまな環境にアプリケーションを簡単にデプロイできます。 Docker では、アプリケーションをコンテナーにパッケージ化することもできます。コンテナーは出荷され、Docker がインストールされている他のシステムで実行できます。
Docker は Go プログラミング言語で書かれており、オープン ソースです。 Amazon Web Services、Microsoft Azure、Google Cloud Platform など、さまざまなクラウド プロバイダーでサポートされています。
Docker は 2013 年 3 月に初めてリリースされました。最初は、サービスとしてのプラットフォーム企業である dotCloud の内部プロジェクトとして、Solomon Hykes によって開発されました。 2014 年 3 月、dotCloud は Docker, Inc. に名前が変更され、オープン ソース プロジェクトは Apache 2.0 ライセンスの下でリリースされました。
それ以来、Docker は開発者やシステム管理者にとって最も人気のあるツールの 1 つになりました。 Google、Amazon、Microsoft、IBM など、多くの企業で採用されています。
Docker には、開発者やシステム管理者にとって魅力的な選択肢となる多くの機能があります。これらには以下が含まれます:
コンテナー化: Docker を使用すると、アプリケーションをコンテナーにパッケージ化して、コンテナーを出荷し、Docker がインストールされている他のシステムで実行できます。これにより、環境ごとにアプリケーションを構成する必要がないため、さまざまな環境にアプリケーションを簡単にデプロイできます。
セキュリティ: Docker は、分離された環境でアプリケーションを実行できるユーザー名前空間などのセキュリティ機能を提供します。これにより、悪意のあるコードがホスト システムにアクセスすることが難しくなります。
スケーラビリティ: Docker を使用すると、アプリケーションを迅速かつ簡単にスケーリングできます。アプリケーションを複数のサーバーにデプロイするために使用できるため、スケーラビリティが向上します。
使いやすさ: Docker は使いやすく、理解しやすいです。コンテナの管理を容易にするシンプルなコマンドライン インターフェイスを備えています。
たとえば、複数のサーバーにデプロイする必要があるアプリケーションがある場合、Docker を使用してアプリケーションをコンテナーにパッケージ化できます。その後、コンテナーを各サーバーに出荷し、Docker で実行できます。これにより、各サーバーを手動で構成する必要がないため、アプリケーションを複数のサーバーに簡単にデプロイできます。
Docker には、使いやすさ、スケーラビリティ、セキュリティ機能など、多くの利点があります。ただし、Docker の使用にはいくつかの欠点もあります。これらには以下が含まれます:
リソースの使用量: Docker コンテナーは、従来の仮想マシンよりも多くのシステム リソースを使用できます。これは、1 つのサーバーで複数のコンテナーを実行している場合に問題になる可能性があります。
セキュリティ: Docker コンテナは互いに分離されていますが、依然として攻撃に対して脆弱です。コンテナが適切に固定されていることを確認することが重要です。
Docker は、コンテナ化テクノロジを使用しているため、いくつかの論争の対象となっています。コンテナーは悪意のあるコードを隠すために使用できるため、コンテナー化はセキュリティ リスクにつながる可能性があると主張する人もいます。コンテナは従来の仮想マシンよりも多くのシステム リソースを使用できるため、コンテナ化はリソース使用の問題につながる可能性があると主張する人もいます。
Docker は、LXC、OpenVZ、rkt などの他のコンテナー化テクノロジーに関連しています。これらのテクノロジーは、アプリケーションをコンテナーにパッケージ化して出荷し、テクノロジーがインストールされている他のシステムで実行できるという点で、Docker に似ています。
Docker は、Kubernetes などの他のテクノロジーと組み合わせて使用されることもよくあります。 Kubernetes は、コンテナー化されたアプリケーションを管理するためのオープン ソース システムです。コンテナーで実行されているアプリケーションの展開、スケーリング、および管理を自動化するために使用されます。
Docker は、開発者やシステム管理者にとって最も人気のあるツールの 1 つになりました。 Google、Amazon、Microsoft、IBM など、多くの企業で使用されています。これはオープン ソース プロジェクトであり、多くのクラウド プロバイダーによってサポートされています。