Linux
 Computer >> コンピューター >  >> システム >> Linux

Dockerとは?仕組みと特徴をわかりやすく解説

Dockerは、共通のオペレーティングシステム(OS)上で仮想化されたアプリケーションコンテナを作成・デプロイ・管理するためのオープンソースソフトウェアプラットフォームです。関連ツール群からなる充実したエコシステムも特徴の一つです。

Dockerのコンテナ技術は2013年に登場しました。その後、商用版のコンテナ管理ソフトウェアを提供する企業としてDocker Inc.が設立され、同社はオープンソース版の主要スポンサーとしても活動してきました。2019年11月には、MirantisがDocker Enterprise事業を買収し、エンタープライズ領域での展開が引き継がれています。

Dockerの仕組み

Dockerは、コンテナのパッケージ化、プロビジョニング、実行を一元的に担うツールです。コンテナ技術はOSの機能を通じて実現されており、アプリケーションのサービスや機能を、動作に必要なライブラリ、設定ファイル、依存関係などの部品やパラメータとともにひとまとめにパッケージ化します。そして、各コンテナは単一の基盤OSのサービスを共有する仕組みです。

Dockerイメージには、コンテナ内でコードを実行するために必要なすべての依存関係が含まれています。このため、同じOS環境のDocker環境間であれば、コンテナを移動させても一切の変更なしにそのまま動作します。これが「どこでも同じように動く」というコンテナの大きな強みです。

仮想マシン(VM)との違い

Dockerは、OSカーネルが持つリソース分離機能を活用することで、同一のOS上に複数のコンテナを並行して実行できます。一方、仮想マシン(VM)は、物理ハードウェアリソースを抽象化したレイヤーの上に、実行可能なコードとOS全体を丸ごとカプセル化する方式です。VMと比べてDockerのコンテナは軽量で起動が速く、リソース効率にも優れています。

対応プラットフォーム

DockerはもともとLinuxプラットフォーム向けに開発されましたが、その後、Microsoft WindowsやApple macOSなど、Linux以外のOSへのサポートも大きく拡張されました。さらに、Amazon Web Services(AWS)やMicrosoft Azureといった主要クラウド環境向けのDockerも提供されており、オンプレミスからクラウドまで幅広い環境で利用できます。

  1. DockerでMongoDBをコンテナとしてデプロイする手順を徹底解説

    最も扱いやすいNoSQLデータベースの一つであるMongoDB®には、さまざまなデプロイ方法が用意されています。この記事では、Docker®を使用してMongoDBをコンテナとしてデプロイし、シェルクライアントからそのコンテナを操作する方法を解説します。 はじめに パソコンやサーバーにDockerをインストールしたら、以下の手順に従ってMongoDBをDockerコンテナとしてデプロイしていきます。 最新版または特定バージョンのMongoDB Dockerイメージをダウンロードする MongoDBのインスタンスをコンテナとしてデプロイする 基本的なシェル操作でMongoDB Dockerコン

  2. Docker Desktop レビュー ― コンテナ管理を快適にする直感的GUIフロントエンドの実力とは?

    私が好むのは、直感的に操作できるソフトウェアです。マニュアルなしでも使いこなせて、万が一ドキュメントを確認する必要があるときも、必ず求めている答えが見つかるような製品。これまでの経験から言えば、Docker関連のツールはまさにその領域に該当すると言えます。 そんな中、最近「Docker Desktop」という新しいDockerツールに出会いました。これはDockerコンテナ管理のためのGUIで、本来ならコマンドラインからDockerエンジンを使って行う作業を、快適なフロントエンドから実行できるようにするものです。かなり興味深そうなので、早速詳しく見ていきましょう。 インストールと初期設定 ま