Docker とは

Docker を使用すると、アプリケーションをすばやく構築、テスト、デプロイできます。

Docker-Logo_Horizontel_279x131

Docker は、アプリケーションをすばやく構築、テスト、デプロイできるソフトウェアプラットフォームです。Docker は、コンテナと呼ばれる標準化されたユニットにソフトウェアをパッケージ化します。コンテナには、ライブラリ、システムツール、コード、ランタイムなど、ソフトウェアの実行に必要なすべてのものが含まれています。Docker を使用すると、どのような環境にもアプリケーションをすばやくデプロイおよびスケールでき、コードを実行することができます。

Docker を AWS で運用することで、開発者や管理者は、どのような規模の分散アプリケーションでも、高信頼性と低価格を実現した方法ですばやくビルド、出荷、実行できます。AWS は、オープンソースの Docker Community Edition (CE) とサブスクリプションベースの Docker Enterprise Edition (EE) の、どちらの Docker ライセンスモデルもサポートしています。

どのようにして Docker が動作するか

Docker はコードに標準的な実行方法を提供します。Docker はコンテナに対するオペレーティングシステムです。仮想マシンがサーバーハードウェアを仮想化 (直接管理する必要をなくす) ように、コンテナはサーバーのオペレーティングシステムを仮想化します。Docker は各サーバーにインストールされ、シンプルなコマンドを使ってコンテナを構築、開始、停止できます。

AWS FargateAmazon ECSAmazon EKSAWS Batch などの AWS サービスはどのような規模でも Docker コンテナの実行と管理を容易にします。

monolith_2-VM-vs-Containers

Docker をなぜ使うか

Docker を使うとコードを早く出荷でき、アプリケーションの動作を標準化し、コードをシームレスに移動し、またリソースの利用を改善して費用を節約できます。Docker を使うと、どこでも実行できる単一のオブジェクトを手に入れられます。Docker のシンタックスはシンプルで分かりやすく、完全なコントロールが得られます。広く使われていますので、Docker と組み合わせてすぐに使えるツールおよび既製のアプリケーションの、強力なエコシステムがあります。

100x100_benefit_deployment1

ソフトウェア出荷の数と速度を向上

Docker ユーザーは、平均すると非 Docker ユーザーの 7 倍以上の頻度でソフトウェアを出荷しています。Docker は別れた複数のサービスを必要に応じて何度でも出荷できます。

100x100_benefit_tools

オペレーションの標準化

コンテナ化された小さなアプリケーションでは、デプロイ、問題の特定、および解決のためのロールバックが容易になります。

100x100_benefit_migration

シームレスに移動

Docker ベースのアプリケーションは、ローカル開発マシンから AWS の本番デプロイへとシームレスに移行させることが可能です。

100x100_benefit_lowcost-affordable

コスト削減

Docker コンテナは各サーバーでより多くのコードを実行することが容易になり、リ利用率を上げ、お金を節約します。

Docker をいつ使うか

Docker コンテナは、現代的なアプリケーションとプラットフォームを作成するための中心となるビルディングブロックとして使えます。Docker は分散型マイクロサービスアーキテクチャの構築と実行、標準化されて連続的な統合とデリバリーパイプラインのあるコードのデプロイメント、高度にスケーラブルなデータ処理システムの構築、開発者のための完全マネージド型のプラットフォームの作成を容易にします。

100x100_benefit_ccontainers

マイクロサービス

Docker コンテナを用いた標準化されたコードデプロイメントを利用して、分散型のアプリケーションアーキテクチャを構築、スケーリングしてください。

100x100_benefit_delivery

継続的インテグレーションとデリバリー

環境を標準化し、言語スタック間およびバージョン間の競合を解消することで、アプリケーションのデリバリーを高速化します。

AWS_Benefit Icon_AutomatedOperations

データ処理

ビッグデータ処理をサービスとして実現します。データと分析パッケージを、技術者以外のユーザーにも実行可能なようにポータブルなコンテナにパッケージ化します。

100x100_benefit_get-started-2

Containers as a Service

分散アプリケーションをビルドし、コンテンツおよび IT 管理された安全なインフラストラクチャとともに出荷します。

Docker についてのよくある質問

Q: Docker は無料ですか?

Docker コミュニティエディション (CE) は誰に対しても無料です。Docker のこのバージョンはオープンソースで、Windows、Mac、Linux など様々なプラットフォームで使えます。Docker CE はご自分のコンピューター、または Amazon EC2 仮想マシンインスタンスにご自分でインストールできるほか、Amazon ECS 最適化 AMI で直ちに使い始めることもできます。

Docker エンタープライズエディション (EE) にはワークフロー管理やセキュリティのための機能が追加されており、AWS Marketplace でご購入いただける有料サブスクリプションです。

Q: Docker ではどのようなことができますか?

Docker を使用すると、どのような環境にもアプリケーションをすばやくデプロイおよびスケールでき、コードを実行することができます。これは、Docker がコンテナと呼ばれる標準化されたコンテナと呼ばれるユニットにソフトウェアをパッケージ化して、このコンテナには、ライブラリ、システムツール、コード、ランタイムなど、ソフトウェアの実行に必要なすべてのものが含まれているので可能になります。

Q: Docker イメージとは何ですか?

Docker イメージとはコンテナを定義する読み取り専用のテンプレートです。イメージには実行されるコードが含まれており、ライブラリや、コードの必要とする依存性の定義も含まれます。Docker コンテナはインスタンス化された (実行中の) Coker イメージです。AWS は Docker イメージを格納し、素早く取り出すためのイメージレジストリである Amazon Elastic Container Registry (ECR) を提供しています。

Q: Docker Swarm、Kubernetes、Amazon ECS の違いは何ですか?

多くの Docker コンテナを実行したい場合、Docker Swarm、KubernetesAmazon Elastic Container Service (ECS) などのオーケストレーションツールは何千 (または何百万) ものコンテナの開始、停止、監視を可能にします。

Docker Swarm は Docker の作るコンテナオーケストレーションのためのソフトウェアで、お客様自身が実行、管理するものです。Kubernetes は良く使われるオープンソースの、コミュニティで維持されるコンテナオーケストレーションソフトウェアで、お客様自身が実行、管理するものです。Amazon EKS は、お使いのコンテナに対する Kubernetes コントロールプレーンの管理を提供して、AWS での Kubernetes の実行を容易にします。Amazon ECS は完全マネージド型の AWS サービスで、VPC、ロードバランシング、サービスディスカバリ、IAM ロールなどの AWS サービスと深く統合されて AWS でのコンテナの実行を容易にします。

Q: Docker と仮想マシンはどう違いますか?

仮想マシン (VMs) はサーバーハードウェアを仮想化し (直接管理する必要をなくす)、コンテナはサーバーのオペレーティングシステムを仮想化します。Docker はコンテナに対するオペレーティングシステム (ランタイム) です。Docker エンジンはコンテナを実行しようとする各サーバーにインストールされ、コンテナを構築、開始、停止するために使えるシンプルなコマンドを提供します。

monolith_2-VM-vs-Containers

AWS での Docker の実行

AWS では、Docker のオープンソースソリューションと商用ソリューションの両方がサポートされています。AWS でコンテナを実行するにはいくつも方法があり、そのうち Amazon Elastic Container Service (ECS) は非常にスケーラブルで、高パフォーマンスのコンテナ管理サービスです。AWS Fargate は Amazon ECS 用のテクノロジーで、インフラストラクチャのデプロイや管理をせずにコンテナを商用で実行できます。Amazon Elastic Container Service for Kubernetes (EKS) は AWS での Kubernetes の実行を容易にします。AWS Fargate は、サーバーのプロビジョニングや管理を必要とせずにコンテナを実行できるようにする Amazon ECS のためのテクノロジーです。Amazon Elastic Container Registry (ECR) はアベイラビリティーが高く、セキュアなプライベートコンテナレポジトリで、お使いの Docker コンテナイメージの保存と管理を容易にし、格納中のイメージを暗号化、圧縮して高速で取り出しでき、セキュリティを高めるようにします。AWS Batch は、Docker コンテナを使って高度にスケーラブルなバッチプロセスワークロードを実行できるようにします。

new_product_ecs

Amazon ECS

Amazon ECS は AWS クラウドで Docker コンテナを実行するための高度にスケーラブルで、高パフォーマンスのコンテナオーケストレーションサービスです。

new_product_fargate

AWS Fargate

AWS Fargate は Amazon ECS 用のテクノロジーで、インフラストラクチャのデプロイや管理をせず Docker にコンテナを実行できます。

new_product_eks

Amazon EKS

Amazon EKS を使用すると、Kubernetes マスターのインストールと運用を自分自身で行うことなく、Kubernetes を AWS で簡単に実行できます。 

new_product_ecr

Amazon ECR

Amazon ECR はアベイラビリティーが高く、セキュアなプライベートコンテナレポジトリで、Docker コンテナイメージの格納と管理を容易にします。

new_product_batch

AWS Batch

AWS Batch は、開発者、科学者、エンジニアが、AWS でコンテナを使ってバッチ処理ジョブを簡単に、効率的に実行できるようにします。

new_product_docker_cleanwhale

Docker EE は、エンタープライズコンテナ管理とセキュリティに、Amazon EC2 環境に最適化されたプラットフォームを提供します。

Docker EE は AWS Marketplace からのサブスクリプションとしてご利用いただけます。 すでに Docker EE のライセンスをお持ちですか?Docker EE Standard で AWS で起動.

Docker を今すぐ始める

下記のステップに従えば、ほんの数分で AWS で Docker を使い始められます。
icon1
AWS アカウントにサインアップ
AWS 無料利用枠にすぐにアクセスできます。
icon2
Docker コンテナを 10 分でデプロイ
この簡単なチュートリアルで Docker を深く学んでください

コンテナの詳細はこちら

よくある質問ページにアクセスする
構築を始めましょう。
Docker コンテナをデプロイする
ご不明な点がおありですか?
お問い合わせ