この用語をシェア
概要・定義
Dockerは、アプリケーションをコンテナとしてパッケージ化し、どこでも実行できるようにするコンテナ仮想化プラットフォームです。2013年にDotCloud社(現在のDocker, Inc.)によって公開され、現在ではコンテナ仮想化のデファクトスタンダードとなっています。
Dockerは、アプリケーションとその依存関係を独立したコンテナとしてパッケージ化し、「ビルド、シップ、ラン」というコンセプトで、環境の独立性、ポータビリティ、スケーラビリティを実現します。
主要な特徴・利点
1. 環境の独立性
アプリケーションとその依存関係をコンテナに含め、ホスト環境に依存しない実行を実現します。
2. ポータビリティ
一度ビルドしたアプリケーションを、開発環境から本番環境まで、一貫して同じように実行できます。
3. 軽量性
仮想マシンと比較して、リソース消費が少なく、起動が高速です。
4. スケーラビリティ
コンテナのレプリケーションとスケールアウトが容易で、マイクロサービスアーキテクチャに適しています。
主要コンポーネント
1. Docker Engine
Dockerのコアコンポーネントで、コンテナの作成、実行、管理を行います。
2. Docker Image
アプリケーションとその依存関係を含む読み取り専用のテンプレートです。
3. Docker Container
Docker Imageから作成された実行可能なインスタンスです。
4. Dockerfile
Docker Imageを作成するためのスクリプトファイルです。
5. Docker Registry
Docker Imageを保存、共有するためのリポジトリサービスです。
使用例・実装方法
基本的なDockerコマンド
# コンテナの実行
docker run hello-world
# インタラクティブモードでコンテナ実行
docker run -it ubuntu:latest /bin/bash
# バックグラウンドでコンテナ実行
docker run -d nginx:latest
# ポートマッピングでコンテナ実行
docker run -d -p 8080:80 nginx:latest