Tag: 弹性beanstalk

在AWS Elastic Beanstalk上运行Docker容器 – 我的web应用程序在哪里?

我使用Elastic Beanstalk控制台将应用程序从Docker容器部署到AWS Elastic Beanstalk。 完成在AWS Elastic Beanstalk上部署Web应用程序之后 – 环境状态为绿色。 我单击环境仪表板上的URL链接查看我的Web应用程序。 它总是导航到网页有string Congratulations! Your Docker Container is now running in Elastic Beanstalk on your own dedicated environment in the AWS Cloud 我读了日志文件,我没有看到任何错误。 这是它的链接: http : //dockstalker-env.elasticbeanstalk.com/我的网站应用程序在哪里? 我想念什么? Dockerfile FROM ubuntu:14.04 RUN apt-get update && apt-get upgrade -y RUN apt-get install -y git git-core wget zip nodejs […]

将Elastic Beanstalkconfiguration更改为Docker

我目前正在运行Elastic Beanstalk应用程序的Node JSconfiguration。 我想要将环境更改为Docker,而不必删除环境。 有谁知道我怎么能做到这一点? 有一个重build环境的行动,但我不知道这是否会让我改变configuration。 我没有任何东西上传到环境,所以我不担心文件或数据库被删除。 有任何想法吗? 编辑: 我的问题是,我有另一台服务器上的DNS指向我的弹性beanstalk域(domain.elasticbeanstalk.com)。 如果我删除应用程序,我可以得到这个名字吗?

Docker-Compose Up Works但Eb Local Run不行

附件是我的docker-compose文件。 它是一个非常简单的项目,有一个数据库和phpmyadmin来访问它。 web: build: ./docker_web/ links: – db ports: – "80:80" volumes: – "./docker_web/www/:/var/www/site" db: image: mysql:latest restart: always volumes: – "./.data/db:/var/lib/mysql" environment: MYSQL_ROOT_PASSWORD: ^^^^ MYSQL_DATABASE: electionbattle MYSQL_USER: admin MYSQL_PASSWORD: ^^^^ phpmyadmin: image: phpmyadmin/phpmyadmin container_name: phpmyadmin environment: – PMA_ARBITRARY=1 restart: always ports: – 8081:80 volumes: – /sessions links: – db 如果我运行这个工作正常。 我为Amazon Elastic Beanstalk的Docker运行创build了Equivlent,并启动,但由于某种原因,它找不到在.data文件夹中保留我的持久数据库数据的卷。 我试图改变.data只是数据没有运气。 […]

AWS Docker部署

我有一个自定义的docker镜像上传到ECS。 我打开了权限来尝试解决这个问题(一旦我能得到这个工作,我将再次locking它)。 我试图将docker映像部署到弹性beanstalk。 我有一个docker启用弹性beanstalk环境设置。 根据AWS文档,如果我从AWS内部拉取图像,则不需要传入证书。 所以我上传我的Dockerrun.aws.json文件并尝试安装它。 它失败,错误: 命令在实例上失败。 返回代码:1输出:无法使用ECR对“us-east-1”中的registry“434875166128”进行身份validation。 挂钩/opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh失败。 有关更多详细信息,请使用控制台或EB CLI检查/var/log/eb-activity.log。 /var/log/eb-activity.log信息没有任何用处。 这是我的Dockerrun.aws.json文件: { "AWSEBDockerrunVersion": "1", "Image": { "Name": "{id000xxxx}.dkr.ecr.us-east-1.amazonaws.com/my-repo:1.0.0", "Update": "true" }, "Ports": [ { "ContainerPort": "4000" } ], "Logging": "/var/log/app-name" } 我也尝试在S3中添加dockercf.json文件的authentication。 这对我也不起作用。 请注意,我正在使用商家帐户而不是个人帐户,因此可能会有一些未知的差异。 谢谢! 更新:我的用户现在也有完整的权限,所以不应该有任何权限明智的方式。

Docker部署失败的Elastic Beanstalk

我试图用docker和elastic beanstalk部署我的应用程序。 我的Dockerrun.aws.json文件看起来像 { "AWSEBDockerrunVersion": "1", "Image": { "Name": "jvans/maven_weekly", "Update": "true" }, "Ports": [ { "ContainerPort": "5000" }], "Volumes": [ { "HostDirectory": "/Users/jamesvanneman/Code/maven_weekly/maven_weekly", "ContainerDirectory": "/maven_weekly" } ], "Logging": "/var/log/nginx" } 我用eb create了这个应用程序,当我运行eb deploy我得到了 Docker container quit unexpectedly after launch: Docker container quit unexpectedly on Mon Sep 21 01:15:12 UTC 2015:. Check snapshot logs for […]

AWS EB,Play框架和Docker:应用程序已经运行

我在AWS Elastic Beanstalk上运行Play 2.2.3 Web应用程序,使用SBT生成Docker镜像。 从EBpipe理界面上传图像通常是可行的,但有时会进入一种状态,我一直得到以下错误: Docker容器在Thu Nov 27 10:05:37 UTC 2014意外退出:Play服务器进程ID是1此应用程序已经运行(或删除/ opt / docker / RUNNING_PID文件)。 并且部署失败。 除了终止环境并重新设置以外,我无法做出任何其他的事情。 我怎样才能避免环境进入这种状态?

Dockercachinggradle依赖

我试图部署我们的Java Web应用程序来使用docker来弹性beanstalk,这个想法是能够在本地运行容器进行开发和testing,并最终将其推到使用git的生产。 我创build了一个安装了tomcat8和java8的基础镜像,执行gradle build的镜像inheritance了这个基础镜像,加速了构build过程。 除了事实上,使用docker构build的inheritance应用程序容器似乎不会cachinggradle依赖关系,它每次都会下载,包括gradlew。 我们使用以下命令构build我们的Web应用程序: ./gradlew war 有什么办法可以caching~/.gradle的文件,这将大大加速我的构build 这对于beanstalk来说并不是什么大问题,但是对于开发人员来说,这是一个很大的问题,因为这需要很多时间,正如你可以想象的那样 基础图像dockerfile: FROM phusion/baseimage EXPOSE 8080 RUN apt-get update RUN add-apt-repository ppa:webupd8team/java RUN apt-get update RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections RUN apt-get -y install oracle-java8-installer RUN java -version ENV TOMCAT_VERSION 8.0.9 RUN wget –quiet –no-cookies http://archive.apache.org/dist/tomcat/tomcat-8/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz -O /tmp/catalina.tar.gz # Unpack RUN tar […]

从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" […]

在EC2上的Docker,dockerfile中的RUN命令不能读取环境variables

我在AWS上有两个弹性beanstalk环境:开发和生产。 我在每个实例上运行一个glassfish服务器,并且要求在生产和开发环境中可以部署相同的应用程序包,而不需要两个不同的.EAR文件。这两个实例大小不同:dev有一个微型实例生产有一个中等的实例,因此我需要为glassfish部署两个不同的configuration文件,每个环境一个。 主要的问题是该文件必须在服务器启动之前在glassfish config目录中,因此我认为在创build容器时可以更好地移动它。 当然,每个环境都使用docker容器来托pipeglassfish实例,所以我首先想到的是为elastic-beanstalkconfiguration一个环境variables。 在这种情况下 ypenvironment = dev 为开发环境和 ypenvironment = pro 为生产环境。 然后在我的DOCKERFILE中,我把这个语句放在RUN命令中: RUN if [ "$ypenvironment"="pro" ] ; then \ mv –force /var/app/GF_domain.xml /usr/local/glassfish/glassfish/domains/domain1/config/domain.xml ; \ elif [ "$ypenvironment"="dev" ] ; then \ mv –force /var/app/GF_domain.xml.dev /usr/local/glassfish/glassfish/domains/domain1/config/domain.xml ; \ fi 不幸的是,当启动完成后,两个GF_domain文件仍然在var/app 。 然后我发现RUN命令在容器满载之前运行了一些东西,可能缺less弹性beanstalk注入的variables。 所以我试图将代码移动到ENTRYPOINT指令。 再次运气,容器启动失败。 也试过了 ENTRYPOINT ["command", "param"] 语法,但它没有工作给一个 System error: […]

在Dockerrun源码包中部署AWS Elastic Beanstalk Docker部署中的ebextensionsconfiguration的位置?

我有困难让我的docker弹性beanstalk部署来读取我的.ebextensions / setup.config文件。 eb环境configuration的文档说: 您可以在源包中包含一个或多个configuration文件。 必须使用扩展名.config(例如myapp.config)来命名configuration文件,并将其放在源包中的.ebextensions顶级目录中。 然而,对于Docker来说,源代码包不是.zip或.war文件,而是一个.json文件,例如文档说创build一个Dockerrun.aws.json文件 – 它看起来就像源代码包? 在创build一个版本的应用程序时,我将一个自定义的Dockerrun-$VERSION.aws.jsonfile upload到s3,运行如下所示(其中$APP是版本化的dockerrun json文件): aws elasticbeanstalk create-application-version \ –application-name $APP_NAME \ –version-label $VERSION \ –source-bundle S3Bucket=$S3_BUCKET,S3Key=$S3_PATH/$APP 那么…当“bundle”只是一个结束构build容器的json文件时,如何在源包的顶级目录中find.ebextensions目录? (我的第一个尝试就是把它放在项目的根目录中,但是这不起作用。)