Tag: 弹性beanstalk

Docker主机的Elastic Beanstalk环境variables

我有一个适当部署的Docker Web应用程序(rails)的EB env。 我设置了几个EB envvariables,并且它们在容器中正确可见。 现在我想让这些EB envvariables对EC2实例主机可见,这样我就可以在docker的构build过程中使用它们了。 但是,他们没有暴露在docker的主机,只有容器。 如何将EB envvariables暴露给Docker主机?

在AWS Elastic Beanstalk上使用Docker进行Django迁移

我在AWS Elastic Beanstalk上的一个Docker容器中运行了一个django应用程序。 我不能让它正常运行迁移,它总是看到旧的docker图像,并尝试从那里运行迁移(但它没有最新的文件)。 我用我的EBS源码包(一个包含Dockerrun.aws.json文件和.ebextensions目录的zip)打包一个.ebextensions目录。 它有一个setup.config文件,如下所示: container_commands: 01_migrate: command: "CONTAINER=`docker ps -a –no-trunc | grep aws_beanstalk | cut -d' ' -f1 | head -1` && docker exec $CONTAINER python3 manage.py migrate" leader_only: true 关于这个SO问题的评论是部分build模的。 我已经validation,如果我再次重新部署应用程序,它可以工作 ,因为这次以前的运行映像将具有更新的迁移文件。 有谁知道如何在.ebextensions脚本中访问最新的.ebextensions镜像或最新的运行容器?

ElasticBeanstalk:存放一个防弹的docker集装箱

我构build了一个在AWS中运行的Docker镜像。 在Dockerfile中,我放置了一些从某些网站下载某些源代码的命令,很明显,如果这些网站出于某种原因正在生成一个运行该映像的新节点将会失败。 我怎样才能避免这种风险? 有没有一种方法来存储预构build的Docker容器,可以在需要时(例如,当一个应用程序需要扩展时)部署到一个节点上,而无需每次运行Dockerfile?

Amazon CloudWatch的Elastic Beanstalk Docker

我有一个用Docker容器部署的Elastic Beanstalk应用程序。 应用程序本身是一个Java应用程序。 我的目标是将日志获取到Cloudwatch。 特别是我想获得stdouterr.log文件到Cloudwatch。 该文件可以在/var/log/eb-docker/containers/eb-current-app/* 我在这里跟随了官方的AWS文档。 基于示例configuration文件,我设法将nginx Webrequest转换为Cloudwatch。 对于EB docker stdouterr日志,我将cwl-log-setup.config文件改编为以下内容: Mappings: CWLogs: ApplicationLogGroup: LogFile: "/var/log/eb-docker/containers/eb-current-app/*" TimestampFormat: "%d/%b/%Y:%H:%M:%S %z" Outputs: ApplicationLogGroup: Description: "The name of the Cloudwatch Logs Log Group created for this environments web server access logs. You can specify this by setting the value for the environment variable: WebRequestCWLogGroup. Please note: if […]

在AWS beanstalk下将特定的EBS卷挂载到Docker

AWS Beanstalk可以从Docker容器运行应用程序。 如文档( http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html )中所述,可以在Dockerrun.aws.json中将目录映射写入EC2卷: "Volumes": [ { "HostDirectory": "/var/app/mydb", "ContainerDirectory": "/etc/mysql" } 但是,可以挂载特定的EBS卷吗? Fe我需要在Docker容器中运行db并使用Beanstalk进行部署。 很明显,我需要持续的数据,备份/恢复数据库等。

Elastic Beanstalk单容器泊坞窗 – 使用awslogslogging驱动程序

我使用单容器Dockerconfiguration在Elastic Beanstalk上运行单个Docker容器,并尝试使用awslogs日志logging驱动程序将应用程序stdout发送到CloudWatch。 EB寻找一个Dockerrun.aws.json文件来configuration容器,但据我所见,没有select使用awslogs作为容器的日志logging驱动程序(或者添加任何其他标志到docker run命令那件事)。 我已经尝试使用这里提供的答案.ebextensions/01-commands.config docker run命令,通过添加一个文件.ebextensions/01-commands.config与内容: commands: add_awslogs: command: 'sudo sed -i "s/docker run -d/docker run –log-driver=awslogs –log-opt awslogs-region=eu-west-2 –log-opt awslogs-group=dockerContainerLogs -d/" /opt/elasticbeanstalk/hooks/appdeploy/enact/00run.sh' 这是有效的,因为它会修改运行脚本,并在CloudWatch中显示日志。 但EB申请死亡。 容器已经打开,但没有回应请求。 我在容器日志中发现以下错误: “logs”命令仅支持“json-file”和“journald”日志驱动程序(got:awslogs) 我find与ECS(而不是EB)build议追加ECS_AVAILABLE_LOGGING_DRIVERS与awslogs类似的问题的答案。 但是我在EB中找不到这个configuration。 有什么想法吗?

Docker卷指向文件的弹性beanstalk

我有一个Tomcat docker容器,并且想用Elasticbeanstalk来部署我的webapp。 用普通的docker工人,我不添加我的战争文件的容器,但参考它通过-v标志,如: docker run –rm -v data/myfile.war:/usr/local/tomcat/webapps/myFile.war 这使我可以直接引用我的战争文件。 我已经把我的形象推到了我的docker-hub回购站。 在我的Dockerrun.aws.json中,我想做war文件的ref。 我知道有这样的select: "Volumes": [ { "HostDirectory": "/data", "ContainerDirectory": "/data" }] 但是,这留下了我的主机目录我的战争文件在哪里? 我的工作stream程是我打包这些文件: Dockerrun.aws.json 战争文件 并上传到aws。 但是我不知道在ec2实例上zip文件被提取的位置。 所以我不知道应该如何参考。 基本上我想要做这样的事情: "Volumes": [ { "HostDirectory": "?/myFile.war", "ContainerDirectory": "/usr/local/tomcat/webapps/ROOT.war" }] 这个? 基本上是我不知道的部分 我正在使用networking用户界面。 我可以上传包含Dockerrun.aws.json和war文件的zip文件。 但是我在Dockerrun.aws.json中的Volumes部分声明了什么,我不知道aws在哪里提取我的war文件,我想要做一些事情: 我在aws文档中找不到任何东西。 任何人的想法?

弹性beanstalk泊坞窗应用程序不部署时更新

我有一个Dockerfile / elastic-beanstalk应用程序,它从s3中提取当前应用程序版本的tarball并启动它。 这在我第一次部署时效果很好; Docker容器被构build,应用程序启动并正确运行。 问题出在我对应用程序进行更改之后,重新将tarball上传到s3并运行eb deploy 。 $ eb deploy INFO: Environment update is starting. INFO: Deploying new version to instance(s). INFO: Successfully built aws_beanstalk/staging-app INFO: Successfully pulled yadayada/blahblah:latest INFO: Docker container 06608fa37b2c is running aws_beanstalk/current-app. INFO: New application version was deployed to running EC2 instances. INFO: Environment update completed successfully. 但该应用程序尚未更新*.elasticbeanstalk.com 。 我猜,因为Dockerfile没有改变,docker不重build容器(并拉动最新的应用程序tarball)。 […]

如何通过Elasticbeanstalkconfiguration文件(使用Docker)访问环境variables?

例如,如果我希望装入由环境variables定义的特定卷。

将Perl Docker容器部署到Elastic Beanstalk

我正在构build一个Docker容器,它从bitbucket中获取perl / mojolicious回购,但是我遇到了问题。 我有我的Dockerfile像这样: # DOCKER-VERSION 0.3.4 FROM perl:latest MAINTAINER My Name myname@name.com # Update aptitude with new repo RUN apt-get update # Install software RUN apt-get install -y git # Make ssh dir RUN mkdir /root/.ssh/ # Copy over private key, and set permissions ADD repo-key /root/.ssh/id_rsa # Create known_hosts RUN touch /root/.ssh/known_hosts # […]