Tag: docker弹性beanstalk

AWS Beanstalk和Docker端口=这是什么样的tomfoolery?

所以我有一个docker应用程序在端口9000上运行,我希望只通过https访问,而不是http,但我似乎没有任何意识到如何处理端口。 总之,我只想暴露端口443而不是80(在负载平衡器层和实例层),但一直没有能够做到这一点。 所以我的Dockerfile有: EXPOSE 9000 和我的Dockerrun.aws.json有: { "AWSEBDockerrunVersion": "1", "Ports": [{ "ContainerPort": "9000" }] } 而我似乎无法通过9000端口访问,而只能访问80端口。 当我ssh进入docker容器正在运行的实例,并用netstat查找端口时,我得到端口80和22以及其他一些udp端口,但没有端口9000.亚马逊如何pipe理这个? 更重要的是用户如何获得预期的行为? 用ssl和https尝试这个也会产生同样的结果。 证书已设置并映射到端口443,我甚至在.ebextensionsconfiguration文件中创build了一个案例来打开实例上的端口443,但仍然没有ssl sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupName: {Ref : AWSEBSecurityGroup} IpProtocol: tcp ToPort: 443 FromPort: 443 CidrIp: 0.0.0.0/0 我可以使SSL工作的唯一方法是让负载均衡器使用端口443(SSL)转发到实例端口80(非HTTPS),但这是荒谬的。 我究竟如何打开实例上的ssl端口并将docker设置为使用给定的端口? 有没有人做过这个成功? 我会很感激这方面的帮助 – 我已经梳理了文档,并得到了这一点,但这只是简单的困惑我。 总之,我只想暴露端口443而不是80(在负载平衡器层和实例层),但一直没有能够做到这一点。 祝你有美好的一天 干杯

通过CLI部署命令与Dockerrun.aws.json部署到elasticbeanstalk

我运行一个elasticbeanstalk应用程序,有多个环境。 这个特定的应用程序托pipedocker容器,主持一个Web服务。 要将新版本的应用程序上传和部署到其中一个环境中,可以通过Web客户端并单击“上传和部署”,然后从文件选项中select我的最新Dockerrun.aws.json文件,该文件引用最新版本的私人托pipe容器。 上传和部署工作正常,没有问题。 为了让自己和其他人更容易部署,我希望能够使用CLI来上传和部署Dockerrun.aws.json文件。 如果我使用cli eb deploy命令而没有任何特殊的configuration,那么正常的压缩整个应用程序并将其发送到主机的过程就会发生并失败(不能推断出它只需要读取Dockerrun.aws.json文件)。 我发现了一个关于使用.elasticbeanstalk / config.yml文件控制上传内容的文档。 使用这个语法: deploy: artifact: Dockerrun.aws.json 该文件已上传并实际成功部署到第一批实例,然后始终无法部署到第二组实例。 失败错误的味道:“集装箱意外退出…” 任何人都可以解释,或提供使用CLI的规范方法的部署单个docker集装箱应用程序的链接?

从Docker Elastic Beanstalk容器中获取Elasticache地址

我正在尝试有弹性beanstalk自动提供一个elasticache实例。 我想弄清楚如何我可以在我的docker环境中在运行时访问caching实例的地址。 我正在运行python(在gevent上)。 这是我的.ebextensions中的configuration文件: Resources: sslSecurityGroupIngress: Type: AWS::EC2::SecurityGroupIngress Properties: GroupName: {Ref : AWSEBSecurityGroup} IpProtocol: tcp ToPort: 443 FromPort: 443 CidrIp: 0.0.0.0/0 MyCacheSecurityGroup: Type: "AWS::EC2::SecurityGroup" Properties: GroupDescription: "Lock cache down to webserver access only" SecurityGroupIngress : – IpProtocol : "tcp" FromPort : Fn::GetOptionSetting: OptionName : "CachePort" DefaultValue: "6379" ToPort : Fn::GetOptionSetting: OptionName : "CachePort" DefaultValue: "6379" […]

如何将AWS中的Docker容器连接到RDS

我怎样才能将在简单的EC2实例上运行的Docker容器(odoo)或通过EB链接到AWS中的RDS? 我试图加载一个自定义的configuration文件与服务器的位置,但没有奏效。 在EB中,我使用postgres DB创build了一个应用程序,成功部署了我的docker.aws.json但无法连接到应用程序的Web界面。 当我检查容器的docker日志,它说,一切正常开始,但预计在本地主机上的数据库。 所以就像我说我的问题是我怎么能告诉docker容器 – –link到RDS,而不是其他docker容器àla – –link db:db ?

使用Docker的单容器应用程序的ECS还是EB?

我部署了一个带有Docker的单容器SailsJS应用程序(图像大小约为597.4 MB),并将其连接到ElasticBeanstalk。 但是,由于ECS是为Docker构build的,所以使用EB可能会更好吗?