Tag: 弹性beanstalk

如何从ElasticBeanstalk应用程序实例检索正在运行的版本?

我在ElasticBeanstalk中运行一个Web服务器应用程序,使用单个Docker容器configuration。 我想以某种方式检索ElasticBeanstalk App的当前运行版本。 我希望从EB会有预定义的环境variables,但没有任何帮助。 有没有从容器内检索它的程序化方法?

AWS Elastic Beanstalk Docker部署失败

有没有人遇到部署Docker应用程序aws eb时失败的部署? 这是一个日志 time =“2016-09-20T09:36:42.802106539Z”level = error msg =“DELETE /v1.23/containers/c7bc72d9ccec的处理程序返回错误:您无法删除正在运行的容器c7bc72d9ccec6557ddca8e90c7c77b350cb0c80be9a90921478adccd70a2b97a。在尝试删除或使用之前停止容器-f“time =”2016-09-20T09:36:42.924322201Z“level = error msg =”DELETE处理程序/v1.23/images/9daab71ad3c0返回错误:冲突:无法删除9daab71ad3c0(无法强制) – 图像正在通过运行容器c7bc72d9ccec“time =”2016-09-20T09:36:42.924865908Z“level = error msg =”DELETE的处理程序/v1.23/images/dbcc41959b55返回错误:冲突:无法删除dbcc41959b55(不能被迫) – 图像有依赖的子图像“ 这是环境部署的第一次,它运作良好。 但是,每次部署应用程序的新版本时,都会失败。 在64位Amazon Linux 2016.03 v2.1.6 |上运行 Docker 1.11.2 我的Dockerfile相当简单: # Get Node Latest FROM node:6.5.0 # Create working directory WORKDIR /app ADD . /app # Install depencencies RUN npm install […]

如何在AWS Elastic Beanstalk Docker容器中loggingPHP错误

我有一个PHP Docker容器,正在部署到AWS Elastic Beanstalk。 我对Docker和EB比较陌生,所以还在学习。 我想loggingphp错误最好是/var/log/php_error.log。 在php.ini中我已经设置 log_errors = On error_log = /var/log/php_error.log 然后,我加载一个页面,里面有error_log("Hi") ,但是当我打开eb ssh进入服务器时,php_error.log文件没有被创build。 我认为它是一个许可问题。 PHP用户(www-data)没有权限写入root所拥有的日志目录。 我从来没有设置root密码,也找不到如何获得sudo权限的任何文档,或者如何正确设置权限以使其正常工作。 我怀疑它的东西,我可以把我的Dockerfile,但我仍然是新的Docker,所以不知道该怎么做。 也许出于相同或类似的原因,我不能用PHP写任何文件,例如file_put_contents("write.txt","hi")给出了权限错误。 任何提示将非常感谢。

ElasticBeanstalk Docker主机networking模式

有没有在EB环境中以主机联网模式启动Docker容器的方法?

AWS EB部署 – 我的应用程序在哪里?

我使用sbt one-jar插件将我的Scala / LiftWeb应用程序打包到单个可执行jar文件中,并将其打包到Docker中,将Docker文件中的embedded式Jetty端口公开。 它在Docker上本地运行良好,并使用CLI部署工具在AWS EB上显式部署。 然而,在接收到的EB URL上,我看到的只是贵网页,上面写着:“您的Docker容器现在正在AWS Cloud中您自己的专用环境中运行在Elastic Beanstalk中。” 那么,我的应用程序在哪里? 我是否错过在我的EB实例上公开提供我的应用程序的任何步骤?

什么导致EB cli将文件名称1(app-123456-654321.zip)与文件名称2(9f1b.zip)打包在一起?

我有一个Docker容器,我试图部署到AWS弹性Beanstalk。 它可以docker build . 和eb local run没有问题。 我使用弹性beanstalk cli和eb deploy命令根据Dockerfile和Dockerrun.aws.json文件打包容器并将其部署到AWS。 最初,我能够成功部署。 最近,在对容器内容进行了几天的工作之后,我尝试重新部署一个更新的版本,并得到一个错误,将我的应用程序/容器列为“已降级”。 当我的容器成功部署时,运行eb deploy创build了一个名称为app-123456_654321.zip的zip文件(存储在S3容器中)。 目前,在非运行状态下,生成的zip文件的名称只有4个字符(数字和字母),如0f4d.zip 。 我一直在configuration不成功。 我能够重新下载较旧的档案,并成功地重新部署(与容器内容的更新)。 这导致我相信与弹性beanstalkconfiguration有关的东西已经改变,我不知道。 在项目文件夹和.elasticbeanstalk/config.yml文件(参见下面的示例)中,好的和不好的档案之间没有明显的区别,除了不成功的yml在branch-defaults有第二个docker指令(见下文)除了default指令。 这一切都是说,是什么导致eb cli归档为文件名1(app-123456-654321.zip)和文件名2(9f1b.zip)。 我希望这可以揭示一些变化。 示例config.yml文件: branch-defaults: default: environment: eb-prod docker: environment: eb-prod global: application_name: eb-docker-app default_ec2_keyname: sample-key-file default_platform: 64bit Amazon Linux 2015.03 v2.0.0 running Docker 1.6.2 default_region: us-west-2 profile: eb-cli sc: null

如何连接AWS ElasticBeanstalk中的多个Docker容器?

我有一个Docker multicontainerconfiguration,意图在ElasticBeanstalk环境中运行。 EB环境在公共子网中的VPC中运行,具有单个负载均衡器和单个实例绑定。 它看起来像所有的容器运行良好,但他们不能相互沟通,即使我把它们定义为链接的容器。 我需要做什么才能让所有这些容器相互对话? 我的Dockerrun.aws.json看起来像这样: "containerDefinitions": [ { "name": "proxy", "image": "nginx", "essential": true, "memory": 128, "portMappings": [ { "hostPort": 80, "containerPort": 80 } ], "links": [ "webapp" ], "mountPoints": [ { "sourceVolume": "nginx-conf", "containerPath": "/etc/nginx/conf.d", "readOnly": true }, { "sourceVolume": "awseb-logs-proxy", "containerPath": "/var/log/nginx" } ] }, { "name": "webapp", "image": "jetty", "memory": 2048, […]

通过awsebcli在Elastic Beanstalk(多容器Docker)中使用自定义的AMI

我试图find使用awsebcli命令行工具使用自定义多容器awsebcli AMI的awsebcli 。 通过他们的文档查看,我发现的最相关的选项是 – –platform参数: -p platform (for example, php, PHP, php5.5, "PHP 5.5", node.js, "64bit Amazon Linux 2014.03 v1.0.7 running PHP 5.5") 有没有办法让我在这里指定一个AMI ID,还是有另一个configuration选项,我应该使用? [编辑] 此外,这是我可以在.elasticbeanstalk/config.yml文件中指定的东西吗? global: application_name: bar default_ec2_keyname: foo default_platform: Multi-container Docker 1.9.1 (Generic) default_region: us-east-1 instance: r3.large profile: null sc: git 谢谢

Dockerrun.aws.json文件的私人dockerhub图像

我正在尝试将使用Docker构build的Rails应用程序部署到Elastic Beanstalk的多容器服务。 我的Dockerrun.aws.json目前看起来像这样: { "AWSEBDockerrunVersion": 2, "volumes": [ { "name": "myapp", "host": { "sourcePath": "/var/app/current" } }, { "name": "myapp-redis", "host": { "sourcePath": "/var/app/current/myapp-redis" } }, { "name": "myapp-postgres", "host": { "sourcePath": "/var/app/current/myapp-postgres" } } ], "authentication": { "bucket": "myapp", "key": "config.json" }, "containerDefinitions": [ { "name": "redis", "image": "redis:3.0.5", "environment": [ { "name": "Container", […]

Elastic Beanstalk CLI – 不replace部署上的实例

我刚刚尝试对.ebextensionsconfiguration文件进行更改,然后执行“eb deploy”,但是我注意到,当我ssh进入时,命令已经简单地在同一个实例中再次运行。 我曾假设做一个部署将取代实例。 我没有指望可能需要在特定实例上重新运行的命令。 有人能告诉我在什么情况下Elastic Beanstalk会确定它需要replace这个实例吗? 有没有办法强制更换cli的实例? 我还应该提到,这是一个docker应用程序。