2017-05-03 18 views
1

ここに2つの質問があります。AWS用DockerまたはDockerとAWS EC2上のデプロイ

通常のDockerDocker for AWSの主な違いは何ですか?

私のプロジェクトでは、Angular 2でコーディングされたGUIをAWS EC2のDocker Containerで実行します。

1)私の目的のためにDocker for AWSを使用すべきですか?

2)Dockerが[1]私のコードをGITHUBリポジトリから取得できますか[2]ドッカーを実行するとビルドできますか?

3)Docker ContainerをAWSに配置する最良の方法は何ですか? に従うか、またはいくつかのベストプラクティスの例がありますか?

ありがとうございます!

答えて

1

1)私の目的のためにDocker for AWSを使用する必要がありますか?

Docker for AWSは、CloudFormationを通じて自己修復インフラストラクチャを提供します。アプリケーションの自動スケーリングが必要な場合、これは適切な方法です。ただし、コストが増加します。

2)ドッカーが[1]私のコードをGITHUBリポジトリから取得できますか[2]ドッカーを実行するとビルドできますか?

GitHubウェブフック/統合を使用すると、Jenkins/Travis/ANOther CIツールを使用して画像を作成することができます。これにより、画像をDocker Hubまたは自己ホスト/サードパーティのレジストリに公開することができます。

3)Docker ContainerをAWSに配置する最良の方法は何ですか?フォローするガイドやベストプラクティスの例がありますか?

すべてのユースケースが異なります。これはテスト用ですか?デモ?製造?これに取り組む要素が多すぎると私は恐れている。

編集:

3)それはデモ用ですが、現時点でporpuse

私は、単一のEC2インスタンスをスピンアップし、ドッキングウィンドウ・エンジンをインストールして使用したいという

+0

応答をありがとう! 3)現時点ではデモ用です。 – sHamann

+0

ただ1つのEC2インスタンスを使用してください:) – Rawkode

+0

私が調査した後、角度2のアプリケーション 'ng build -prod'を構築し、AWSのS3上で実行することは可能ですか?この方法は、このビルドを 'Docker-Container'に入れて、EC2インスタンス上のWebサーバー' nginx or node.js'(とにかくうまくいくでしょうか?)を使うよりも良いでしょうか?よりコスト効率の高い、または展開プロセスを複雑にするものは何ですか? – sHamann

1

@Rawkodeはすべてをうまく説明しています。あなたの最後のポイントに何かを追加します。あなたがAmazon EC2のコンテナサービス(アマゾンECS)の

展開ドッカーコンテナを使用することができEC2インスタンスを使用してドッキングウィンドウベースのアプリケーションを実行するための

Amazon EC2のコンテナサービス(アマゾンECS)はアマゾンウェブサービスですスケーラブルなクラスタ上でDockerアプリケーションを実行するために使用します。

ドッキングツールを使用してアングルアプリを実行できます。コメントでは、ng build --prodを使用することができます。あなたのためにdistフォルダーを作成して作成します。AWSで角度ドッカーベースのアプリケーションをどのように展開しますか?

まず、静的ファイルを提供する高速サーバーを作成します。

var express =  require('express'); 
    var path = require('path'); 
    var router = express.Router(); 
    var app = express(); 
    // serve angular front end files from root path 
    app.use('/', express.static('dist', { 
     redirect: false 
    })); 
    // rewrite virtual urls to angular app to enable refreshing of internal 
    pages 
    app.get('*', function(req, res, next) { 
     res.sendFile(path.resolve('dist/index.html')); 
    }); 

    app.listen(3000, function(req, res) { 
     console.log("start"); 
    }) 

ので、これはあなたが再書き込みルールを使用して解決することができますリフレッシュでエラーに直面するだろうS3あなたの角度の静的なファイルを提供してます。 は明示のためのあなたのドッキングウィンドウのファイルを作成し、特急サーバファイルは、同じディレクトリにdistのフォルダを置くappフォルダ内の静的ファイル

FROM alpine 
RUN apk update && apk upgrade 
RUN apk add nodejs 
RUN mkdir -p /app 
ADD app/package.json /app 
WORKDIR /app/ 
ENV HOME /app 
ENV NODE_ENV development 
RUN npm install 
ADD app /app 
EXPOSE 3000 
CMD npm start 

に対処します表明します。

今ちょうど角度のアプリケーションを実行する方法を説明しようとした私の上にAWSに

これをWebアプリケーションをホスティングするために、あなたのドッキングウィンドウベースのアプリケーションを訪問このリンク

https://aws.amazon.com/getting-started/tutorials/deploy-docker-containers/

ベストプラクティスを展開するためにAWS ECSであり、同じタスクの複数のコピーを実行して、ロードバランサを設定すると、より良い結果が得られます。ベストプラクティスについては

は、Webアプリケーションのための関心事である

静的なアプリケーションの

enter image description here enter image description here enter image description here

詳細について

best-practices-for-hosting-web-applications-on-aws

ドッカーとAWSは、AmazonのEC2インフラストラクチャにエンタープライズコンテナをサービス(CaaS)Docker環境として展開するのがこれまで以上に簡単になるようにチームを編成しました。 Docker DatacenterをAWS上で実行することにより、開発者およびITオペレーションは、信頼性が高く低コストな方法で、プロダクション対応のワークロードをワンクリックで導入できます。

https://www.docker.com/aws

secrets-for-amazon-ec2-container-service

aws-for-startups-architectural-best-practices-automating-your-infrastructure

関連する問題