5.1 コンテナ概要

Container Overview

コンテナは、アプリケーションとその依存関係をパッケージ化し、どの環境でも一貫して実行できる技術である。Dockerが事実上の標準となり、Kubernetesがオーケストレーションの標準となった。

コンテナと仮想マシンの違い

コンテナとVMの比較

図1: 仮想マシンとコンテナのアーキテクチャ比較

特性 仮想マシン コンテナ
起動時間 分単位 秒単位
サイズ GB MB
分離レベル 完全分離 プロセス分離
リソース効率 低い 高い
ポータビリティ ハイパーバイザー依存 高い

Dockerの基本概念

Docker基本概念

図2: Dockerの基本概念

Dockerでは、Dockerfileに定義された手順でイメージを構築(build)し、イメージからコンテナを起動(run)する。コンテナは一時的な存在であり、データの永続化にはボリュームを使用する [1]。

クラウドコンテナレジストリ

サービス プロバイダ 特徴
ECR AWS IAM統合、脆弱性スキャン
ACR Azure Entra ID統合、geo-replication
Artifact Registry GCP 旧GCR後継、マルチフォーマット
Docker Hub Docker社 パブリック標準、無料枠あり
Docker入門との連携
Dockerの詳細についてはDocker入門を参照。本章ではクラウドにおけるコンテナ活用に焦点を当てる。
出典
[1] Docker Documentation. https://docs.docker.com/
[2] OCI (Open Container Initiative). https://opencontainers.org/