Tag: 弹性beanstalk

如何仅使用Dockerrun.aws.json在ElasticBeanstalk Docker容器中装入卷

我使用公共容器按照这里的说明创build了以下简单的Dockerrun文件,它成功地运行了一个实例。 { "AWSEBDockerrunVersion": "1", "Image": { "Name": "sbeam/influxdb", "Update": "true" }, "Ports": [ { "ContainerPort": "8086" } ], "Volumes": [ { "HostDirectory": "/data", "ContainerDirectory": "/data" } ] } 不过,我希望将/data目录作为某个EBS卷装入EC2实例中。 我find了答案( 在这里和这里 ),表明.ebextensions是必要的,但由于我没有上传容器的.zip图像,这怎么可能? 是否有必要下载Docker容器,添加.ebextensions目录,zip并重新上传?

如何在Elastic Beanstalk中增加Docker中的ulimit?

我想增加Elastic Beanstalk中Docker的ulimit来运行一些应用程序。 我知道我需要增加Docker主机的ulimit并重新启动docker服务,但是找不到一个办法。 我写了以下.ebextensions/01limits.config但仍然不能增加ulimit。 commands: 01limits: command: echo -e "#commands\nroot soft nofile 65536\nroot hard nofile 65536\n* soft nofile 65536\n* hard nofile 65536" >> /etc/security/limits.conf 02restartdocker: command: service docker restart join2014-11-20 09:37 GMT 还试着用下面的configuration文件。 commands: 01limits: command: echo -e "#commands\nroot soft nofile 65536\nroot hard nofile 65536\n* soft nofile 65536\n* hard nofile 65536" >> /etc/security/limits.conf 02restartdocker: command: […]

Dockerfile与AWS Elastic Beanstalk错误; 否则工作,有区别?

我有一个非常基本的Dockerfile,就像这样; FROM williamyeh/java8:latest EXPOSE 80 CMD ["java"] 它基于William Yeh的超薄Java8镜像,我需要运行其他一些Java应用程序。 如果我在CentOS盒子上构build并执行它,它可以正常工作,而且运行没问题。 如果将其作为包含Dockerfile的zip的一部分上载到AWS Elastic Beanstalk,则不会。 现在; 直到最近我的Dockerfile才把所有需要的Java资料本身(并且是从Ubuntu的图像中提取出来的)都用到了EB上,唯一的区别是我把它改成了从另一个在CentOS上运行的图像,我说。 来自AWS的错误日志显示了这一点,这实际上对我没有多大帮助; :[{"status":"FAILURE","msg":" [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/03build.sh] command failed with error code 1: /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh\ncat: Dockerrun.aws.json: No such file or directory\ncat: Dockerrun.aws.json: No such file or directory\ncat: Dockerrun.aws.json: No such file or directory\nPulling repository williamyeh/java8\nStatus: Image is up to date for williamyeh/java8:latest\nSuccessfully pulled williamyeh/java8:latest\nSending build […]

弹性豆茎:没有bulddocker形象

我正在尝试将一个Django应用程序部署到Elastic Beanstalk(AWS)。 我从头开始了一个新的Django项目。 当我尝试部署应用程序时,出现以下错误: ERROR: Failed to build Docker image aws_beanstalk/staging-app: ime="2015-04-02T16:04:13Z" level="info" msg="The command [/bin/sh -c if [ -f /var/app/requirements.txt ]; then /var/app/bin/pip install -r /var/app/requirements.txt; fi] returne da non-zero code: 2" . Check snapshot logs for details. ERROR: [Instance: i-b9cd0c44 Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 O utput: […]

如何设置运行Django的AWS Elastic Beanstalk Docker平台?

我一直在使用常规的EB Python平台运行常规的Django站点,但由于某些原因,我想迁移到使用Docker镜像,但仍然获得了从Elastic Beanstalk获得的所有内容。 为了演示这个问题,我在https://github.com/dkarchmer/aws-eb-docker-django创build了一个小型的Django项目,它既适用于Python 2.7也适用于3.4,它是我真实站点的简化版本。 无论如何,我将很高兴能够使用预configuration的Docker平台或通用的Docker平台。 我的Googlesearch只find了AWS显示的超级简单的基于Flask的示例,还有一些关于Stackoverflow的问题,但是似乎没有人试图在EB / Docker上放置Django项目。 无论如何,让我们从一个通用的解决scheme开始,这是我的首选。 如果你下载了Github项目,你可以成功地使用docker(或者更好的docker-sompose)来testing在本地运行(我在MacOS上运行)时的图像。 我不清楚是否应该使用CMD来定义指定我的“python manage.py runserver”,或者如果我需要一个入口点,或者如果我需要使用uswgi(作为预configuration的解决scheme)。 我相信我需要一个CMD,所以这就是我所做的: FROM python:3.4 RUN adduser –disabled-password –gecos '' myuser # Install PostgreSQL dependencies # Install Postgres RUN apt-get update && apt-get install -y \ postgresql-9.3 \ libpq-dev \ libjpeg-dev; \ apt-get clean # Step 1: Install any Python packages # —————————————- […]

在Elastic Beanstalk上部署Docker环境

我只是将我的基础架构“Docker化”到容器中。 环境基本上是一个nginx-php-fpm容器,其中包含用php-fpmconfiguration的nginx。 该容器连接到包含特定组件的应用程序文件的多个数据容器。 我已经看到多个部署一个容器到Beanstalk的谈判,但我不知道我将如何部署这样的环境。 当地的环境工作。 我得到了我的nginx-php-fpm容器使用–volumes-from标志到数据容器。 我将如何在Beanstalk上创build相同的环境? 我无法从另一个容器中find卷的选项。 还有一个很好的平台,处理Docker业务stream程吗?

Amazon EB中的Dockerfile

我正在尝试使用控制台将Dockerfile部署到Amazon EB中 在执行eb init和eb create我无法使其运行。 甚至有一个像这样的nginx hello世界更容易的Dockerfile 出于某种原因, Dockerfile的ADD命令不起作用 有关如何解决它的任何线索? 提前致谢

在AWS Elastic Beanstalk上部署Dockerized Symfony2应用程序

什么是部署多容器docker symfony应用程序的正确方法? 我有以下的知识基础和情况: 我的docker-compose环境在本地工作,由nginx,php5-fpm,memcached,mysql和mailcatcher组成 我正在使用多容器EB应用程序,目标是使用单独的configuration运行单独的“testing”和“生产”环境 我已经知道我不能简单地在EB内build立整个事物,并且必须已经build立了图像,因此我将它们全部放在这里: https : //hub.docker.com/u/sunbake/dashboard/ 我知道我可以为每个EB环境设置自定义的环境variables 我知道SYMFONY__WHATEVER_NAME可以很容易地用作应用程序参数 现在什么让我感到困扰,并且正在问如何以更好的方式做到这一点? 插入敏感值(如数据库密码)似乎有点可疑 – 如果没有别的,HTMLinput字段值可以存储在浏览器caching/历史logging中 为整个操作系统设置敏感数据的环境variables大致相同 – 假设有人获得任何types的系统访问权限,然后获取envvariables。 即使这是唯一可能的事情,获取明文密码是不好的 为了将环境variables通过nginx获取到通过php-fpm运行的PHP skript,nginxconfiguration文件必须通过它们。 换句话说,如果我想使用这种方法,我必须在我的nginx.conf中有硬编码的参数(是的,没有值,但读了)。 第八个子弹是我的整个问题: 鉴于本文中的第三个项目符号,这意味着我必须重新构build整个图像,每次我想添加一个参数,这可以完成,但似乎是一个开销,也意味着我不能使用图像的多个应用程序,可能有不同的参数 鉴于形象和来源必须是公开的(我不打算在这个用例中支付docker中心),它也公开了应用程序如何工作的部分。 例如,如果一个潜在的攻击者能够以某种方式执行代码来列出我的envvariables,他就知道哪个envvariables要准确地查找。 我希望使用整个bitbucket-docker-dockerhub-eb在多个环境中自动部署: 在本地主机上开发一组特定的docker镜像(mailcatcher,本地mysql实例,启用了xdebug) 在AWS EB上testing环境,在RDS中没​​有邮件收集器和数据库 生产环境相同的testing之一,但没有xdebug和一些小的优化调整 当然必须有一个方法如何做到这一点。 我相信我已经走了很远,但是我有些不妥。 任何提示将不胜感激。

AWS Elastic Beanstalk Docker PHP应用程序

我在一个t1.micro的AWS EB上有一个Docker容器,它是一个PHP应用程序,循环执行一些任务,hibernate几分钟,然后再次循环执行任务。 任务包括在FTP上移动一些数据,以及从Redis商店更新logging。 它总是build立和运行良好,但一天后,应用程序的健康状况变为“警告”,原因说明CPU运行在100%,我没有看到它处理的FTP上的任何活动,日志没有显示任何指示应用程序失败。 这只是将EC2实例升级到更高规格的情况吗? 或者,我运行的容器会在每次迭代后释放资源的方式有缺陷。 谢谢

用于服务HTTP / HTTPS请求的Beanstalk-Dockerconfiguration问题

我有一个应用程序部署在使用Ruby on Rails,Nginx-Passenger,多容器泊坞窗configuration构build的Elastic Beanstalk上。 负载均衡器也configuration相同。 我也上传了SSL证书(来自第三方)到IAM。 如果我在Dockerrun.aws.json中将ContainerPortconfiguration为80,那么应用程序仅通过http进行响应,如果Containerportconfiguration为443,则它仅通过https进行响应。 即使两个ContainerPorts都在Dockerrun.aws.json中指定,那么Beanstalk也只使用其中的一个。 用豆杆,我不能为我的容器暴露多个端口。 也就是说,我可以打开http或https。 两者不能一起工作。 我试图实现的是,如果有人访问http上的链接,它应该自动redirect到https和服务请求。 目前,由于Dockerrun.aws.json的configuration,两者中只有一个会工作。 我还configuration了负载均衡器configuration以使用HTTPS。 以下屏幕截图供您参考。 如果我缺less任何configuration,请让我知道。 Load_balancer