質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

6614閲覧

DockerとAWSのEC2の違いがわかりません

yuuurii

総合スコア7

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/03/31 16:55

dockerコンテナを使ったサーバー構築とAWSのEC2を使ったサーバー構築の違いがわかりません。

前提知識

最近dockerを触った初心者です。
まず前提知識が間違っているかもしれませんが、
dockerを使ってイメージからコンテナを作成しサーバー環境を整えることと、AWSのEC2でAMIからインスタンスを生成し、サーバー環境を構築することは同じのように思える。

知りたいこと

  • dockerとEC2の違い
  • もし同じであるのであれば、設計する上での判断基準
  • 双方のメリット・デメリットなど

ご回答のほどよろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Dockerは簡単に言えば一つのLinuxサーバー内に複数の分離されたOS環境を作る技術(コンテナ型仮想化)です。(Windowsコンテナとかもあるけど)

「分離されたOS環境」というのは、OSの最もコアになるKernelという部分だけを共有し、OS上で動作するKernelの機能を使う各種プログラム(基本的なOSのコマンド等を含む)を個別の「コンテナ」内で実行することによって、1台のサーバーの各種リソース(CPU/メモリ等)を共有する複数のOS環境を作るものです。

EC2はコンテナとか無関係の従来からある仮想サーバーを提供するサービス(Amazonの商品)の名前なので、比較すること事態にあまり意味がありません。

普通の「仮想サーバー」は、物理サーバ同様に管理者がログインしてミドルウェアをインストールしたりして使えるようにしますが、Dockerの場合は基本的に直接ログインするのではなく、ベースとなるコンテナイメージに対して、追加で行う作業をDockerfileというテキストファイルに記述して、これを「ビルド」することで起動すればすぐ特定のアプリケーション(WEBサービスやDBサービス等)が動作する状態の「コンテナ」を作ります。

そのコンテナは同一カーネルが動作しているDockerホスト上であれば基本的にどこで実行してもOS上で動く環境は全く同じものが再現される(冪等性がある)のがメリットの一つです。

なので、例えば今EC2で借りた「仮想サーバー」を使っているとして、将来Amazon以外の別の会社のクラウドサービスに「仮想サーバー」を乗り換えようとした時に何が必要になるか、とか考えると、コンテナのメリットは大きいことがわかると思います。
(引越し先で借りたサーバーにログインして前の環境と同じようにセットアップして…という手間がない)

投稿2020/04/01 03:10

編集2020/04/01 03:11
gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

大まかに書いてしまうと
ec2 -> server
docker -> os
です。

ec2の中でphpを入れたり、nginxを入れたりとするのが手間になってしまった時にdockerを用いて環境構築を行うとコマンド一つで欲しい環境が構成されるので便利といった感じです。

またdockerと相性のいいaws機能を用いるのであればecr, ecs, eksあたりがよいかと!

投稿2020/03/31 17:06

konia

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuuurii

2020/03/31 18:16

ご回答ありがとうございます。 「仮想サーバーを構築するためにEC2があり、その中で簡単に環境を整えるためにdockerを用いる」という認識で正しいですか。 そこらへんの知識も浅かったので、教えて頂きありがとうございます。
konia

2020/04/01 02:55

はい、その認識で大丈夫ですよー!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問