这里有两个问题。
我试图弄清楚正常的Docker和Docker for AWS之间的主要区别是什么。
在我的项目中,我将运行一个以角2编码的GUI,该图形用户界面打包在AWS EC2上的Docker容器中。
1)我是否应该使用Docker作为AWS的用途?
2) docker是否有可能从GITHUB存储库中获取我的代码,并在我运行Docker时构建它?
3)在AWS上部署Docker容器的最佳方法是什么?是否有一个指南或一些最佳实践的例子?
提前谢谢你!
发布于 2017-05-03 08:38:06
1)我是否应该使用Docker作为AWS的用途?
Docker通过CloudFormation提供自愈基础设施。如果您需要为您的应用程序自动缩放,那么这是一个很好的路线。然而,费用将加起来。
2) docker是否有可能从GITHUB存储库中获取我的代码,并在我运行Docker时构建它?
使用GitHub web-钩子/集成,您可以通过Jenkins / Travis / ANOther CI工具为您构建映像。这可以将图像发布到Docker集线器,也可以发布自托管/第三方注册表。
3)在AWS上部署Docker容器的最佳方法是什么?是否有一个指南或一些最佳实践的例子?
每个用例都是不同的。这是测试用的吗?演示?生产?恐怕要解决这个问题的因素太多了。
编辑:
( 3)目前这是给Demos porpuse的
我只需要旋转一个EC2实例并安装停靠引擎并使用它。
发布于 2017-05-13 04:40:23
正如@Rawkode很好地解释了一切。我只想补充一下你的最后一点。要使用ec2实例运行基于停靠器的应用程序,可以使用
在亚马逊EC2容器服务(Amazon )上部署码头容器
EC2 EC2容器服务()是用于在可伸缩集群上运行Docker应用程序的Amazon。
您可以运行您的角度应用程序使用对接。正如您在评论中提到的,您可以使用ng build --prod。其中构建并创建了dist文件夹,用于you.Here如何在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,您将面临刷新错误,这可以通过重写规则解决。为express创建您的docker文件,express将处理静态文件
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在应用程序文件夹中快速服务器文件,将dist文件夹放在同一个目录中。
现在,要部署基于码头的应用程序,请访问此链接
https://aws.amazon.com/getting-started/tutorials/deploy-docker-containers/
在AWS上托管Web应用程序的最佳实践
上面我尝试解释如何在、AWS、ECS、上运行角度应用程序,您可以通过运行多个相同任务的副本和配置负载均衡器来使其更好。
对于最佳实践,web应用程序是关注的问题。
用于静态应用的



有关更多细节的best-practices-for-hosting-web-applications-on-aws
Docker和AWS联合起来,比以往任何时候都更容易在亚马逊的CaaS基础设施上部署企业容器即服务(CaaS) Docker环境。在AWS上运行Datacenter可以为开发人员和IT操作提供一种高可靠性、低成本的方法,只需一次单击就可以部署生产就绪的工作负载。
aws-for-startups-architectural-best-practices-automating-your-infrastructure
https://stackoverflow.com/questions/43754285
复制相似问题