Tag: 弹性beanstalk

Elastic Beanstalk CLI,我如何使用RDS实例创build环境?

根据这里的aws文档,当我在一个项目文件上执行一个eb init时,会出现提示创build一个RDS实例。 当我运行这个,而是我只看到: ~$ eb init Select an application to use 1) eb-demo-php-simple-app 2) aws-eb-deploy 3) sb-test1 4) [ Create new Application ] (default is 1): 4 Enter Application Name (default is "eb-demo-php-simple-app2"): Application eb-demo-php-simple-app2 has been created. It appears you are using Docker. Is this correct? (y/n): y Do you want to set up […]

AWS Elastic BeanStalk Docker根文件系统切换为只读

我使用运行在beanstalk上的docker应用程序进行自动调节。 docker交换机中的/文件系统本身只能随机读取。 该应用程序正在生成大量的日志,但他们被写入一个专用的卷,这一个没有问题。 我试图发出mount -o remount,rw /在容器内,但是我得到“权限被拒绝”

Elastic Beanstalk,Docker和持续集成

我有一个使用Docker的beanstalk环境。 每当我推动一些东西,jenkinsbuild立和上传我的新快照到S3。 (我用S3来存储我的版本)。 每个版本都是一个包含我的应用程序和我的Dockerfile的zip文件。 然后我用刚刚上传的版本更新我的BS环境(BS创build一个新版本,上传到S3版本,如果版本存在,replace它,它用于快照)。 一切正常,我第一次部署版本。 但是当我第二次做,它继续工作,但似乎我的最后一个版本没有被使用。 Docker不能重build我刚刚更新的应用程序。 为什么这个 ? 我错过了什么吗? 这是我的Dockefile

什么触发Elastic Beanstalk拉入更新的Docker镜像

我有一个Elastic Beanstalk应用程序运行并configuration为服务Docker容器(“通用Docker”configuration)并链接到Docker Hub上的私有镜像。 如何在使用docker push新版本后提示Elastic Beanstalk应用程序下载最新版本的Docker Hub映像? 我是否需要“重新启动应用程序服务器”,“重新构build环境”,或者“应该”自动将其拉入? 没有看到这在文档中解决。 **编辑**要清楚, eb deploy不会拉动更新的Docker镜像,但它将文件从应用程序目录中推送到您的ec2实例。 所以,在这一天结束的时候,我可能不会使用docker push进行部署,而只是为了保持镜像是最新的,以防您实际上需要进行环境configuration更改,而不是更改代码,在一个新的开发者,你可以使用docker pull 。 目前, eb deploy my-environment-name对基于Docker的Elastic Beanstalk部署非常有效。

使用Single容器configuration向Dockerrun.aws.json添加portMappings

我正在使用单个Docker容器的ElasticBean 。 我使用DataDog(statsd客户端)从docker容器推送指标。 我有一个正在运行的datadog-agent,它在技术上是主机上的一个statsd客户端。 我面临的问题是连接从容器运行在端口8125的客户端。 我所尝试的是: EXPOSE PORT 8125/udp显然不起作用。 添加Dockerrun.aws.json { “AWSEBDockerrunVersion”:“1”, “portMappings”:[ { “hostPort”:8125, “containerPort”:8125 } ] } 但问题是portMappings似乎添加在V2中,这是不可用的单一docker集装箱。 提前致谢

一旦docker达到其最大内存限制,AWS EB应该创build新的实例

我已经使用使用Akka-HTTP( https://github.com/theiterators/akka-http-microservice )和Scala编写的Elastic Beanstalk在AWS服务器上部署了我的dockerized微服务。 我已经为每个docker分配了512mb的内存大小和性能问题。 我注意到,当服务器获得更多的请求(如20%,23%,45%…)和负载时,CPU使用率增加,然后自动降到正常状态(0.88%)。 但是,每次请求的内存使用量都在不断增加,即使CPU使用率达到正常阶段,仍然无法释放未使用的内存,并且达到了100%,而且docker自己被杀死并重新启动。 我也在EB中启用了自动缩放function来处理大量的请求。 因此,只有在运行实例的CPU使用率达到其最大值后,才会创build另一个重复实例。 内存使用量达到最大限制(即512MB中的500MB)时,如何设置自动缩放以创build另一个实例? 请给我们一个解决scheme/方法来尽快解决这些问题,因为这是我们的一个非常关键的问题?

带有Docker和Elastic Beanstalk的企业应用程序

我是Docker和EB新手,但不是AWS 。 我曾经在需要专门租赁的环境中工作,无论是由于HIPPA还是其他一些数据保护要求。 据我所知,为了部署一个Docker镜像,你必须使用Beanstalk,这意味着你不能拥有专门的租户。 我发现这个论坛的问题说如果你创build一个VPC,你可以有一个专门的Beanstalk。 它是否正确? 如果是这样,它将与Docker一起工作吗? 如果有的话,任何指导将是有益的。

无法启动环境:应用程序版本无法使用,无法在环境中使用

我正在学习本教程https://prakhar.me/docker-curriculum/ ,我正在尝试创build和EBS组件。 对于Application version我使用以下内容上传名为Dockerrun.aws.json的文件: { "AWSEBDockerrunVersion": "1", "Image": { "Name": "myDockerHubId/catnip", "Update": "true" }, "Ports": [ { "ContainerPort": "5000" } ], "Logging": "/var/log/nginx" } 但是,我得到这个问题: Error Could not launch environment: Application version is unusable and cannot be used with an environment 任何想法为什么configuration文件不好?

使用docker在AWS EC2上设置和缩放titan / cassandra

我刚刚开始使用这些技术,所以如果我的问题似乎是愚蠢的。 我想build立一个Cassandra集群,并通过AWS EC2上的Cassandra部署Titan。 为了做到这一点,我find了这个指南 ,但是设置它却有点痛苦,而且我对生产的扩展也不是很有信心。 我的问题是,是否可以使用docker在AWS Elastic Beanstalk上设置cassandra / titan / … ,并让Elastic Beanstalk负责缩放它? 如果不是,那么最简单的方法是什么? 谢谢

在Dockerrun.aws.json中做什么“日志logging”?

我正在努力计算单个容器Dockerconfiguration的Dockerrun.aws.json文件中的Logging标记。 所有的官方文档都说它是Logging – Maps the log directory inside the container. 这听起来像是他们本质上将EC2实例上的/var/log的卷创build为由Logging指定的docker文件系统中的目录。 我有以下Dockerrun.aws.json文件: { "AWSEBDockerrunVersion": "1", … "Logging": "/var/log/supervisor" } 但是,当我前往AWS控制台并为我的实例请求日志时,日志包中没有位于/var/log/supervisor中的自定义日志文件。 任何人都可以向我解释这个Logging标签的目的是什么,以及我如何使用它(或不)来检索我的自定义日志。 编辑 这里是我的容器的卷映射(没想到检查): "Volumes": { "/var/cache/nginx": "/var/lib/docker/vfs/dir/ff6ecc190ba3413660a946c557f14a104f26d33ecd13a1a08d079a91d2b5158e", "/var/log/supervisor": "/var/log/eb-docker/containers/eb-current-app" }, "VolumesRW": { "/var/cache/nginx": true, "/var/log/supervisor": true } 事实certificate, /var/log/supervisor映射到/var/log/eb-docker/containers/eb-current-app而不是/var/log正如我最初怀疑的那样。 如果在文档中这更清楚,这将是很好的。 但事实certificate,我运行了错误的Docker Image,这就解释了为什么我的日志文件没有出现在任何地方! 卫生署!