Tag: 弹性豆茎

Django +docker到弹性豆茎

我在Docker中创build了一个超级简单的django应用程序,按照以下说明操作: https : //docs.docker.com/compose/django/ 一切工作在当地。 当我尝试将包含Dockerfile和Dockerfile docker-compose.yml的文件夹作为多Dockerfile docker-compose.yml AWS Elastic Beanstalk时,它不起作用。 我是否也应该提供Dockerrun.aws.json ? 这里是我在Dockerfile : FROM python:3 ENV PYTHONUNBUFFERED 1 RUN mkdir /code WORKDIR /code ADD requirements.txt /code/ RUN pip install -r requirements.txt ADD . /code/ 并在docker-compose.yml : version: '3' services: db: image: postgres web: build: . command: python3 manage.py runserver 0.0.0.0:8000 volumes: – .:/code […]

具有Docker和持久存储的弹性Beanstalk

我们开发了一个Java Web应用程序,目前我正在尝试重新configuration,以便能够将其部署在Docker上,并最终将容器放在EBS上。 目前该应用程序正在裸机服务器上运行。 我外部化了环境特定的应用程序configuration。 我能够将我的应用程序部署在泊坞窗图像上。 下一步是把所有东西都放在EBS上。 我的问题是,应用程序允许用户上传文件。 这些文件当前保存在主机上。 EBS对我来说是一个问题,因为我想为Web层运行多个实例。 将来我想从文件系统切换到S3来解决问题。 但目前我需要一个低预算的解决scheme…是否有一种方法来共享EBS内的多个docker集装箱之间的卷? 没有EBS,我只会介绍一个链接到每个实例的“数据容器”。 这个容器保存所有上传的文件… 但是,我认为这不可能在一个EBS申请权范围内实现? 或者可以运行多个Web容器并将它们链接到一个中央容器?

如果我移动Elastic Beanstalk应用程序以使用Docker,是否需要自己的服务器?

我有一个工作的Elastic Beanstalk,Django应用程序,但由于几个原因,我想从使用预configuration的Python平台,转到使用通用的Docker平台。 在EB中使用一个真正的应用程序使用Docker的文档或示例非常less,所以我不清楚是否移动到Docker,我也需要pipe理服务器,这意味着我的Docker映像将需要它自己的Apache / nginx服务器在我的django设置之上,或者如果EB仍然将它的apache服务器和EC2实例上的docker镜像放在一起。 换句话说,我的docker图像上的最后一个CMD是一个简单的“python manage.py runserver”typescmd?还是一些“supervisord -n”?我需要一个类似于https://github.com/dockerfiles/django的图像-uwsgi-nginx / blob / master / Dockerfile ? 谢谢

Elastic Beanstalk本地环境(与Docker)连接被拒绝

问题 我正在构build一个Python Flask应用程序并将其部署到AWS Elastic Beanstalk。 尝试使用本地debugging应用程序 ➜ app git:(master) eb local run 它的工作原理是控制台显示应用程序正在运行。 下面的命令也给我输出,我希望是正确的。 ➜ app git:(master) docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 251b42afa3df 5aebd9e634c4 "python application.p" 7 minutes ago Up 7 minutes 0.0.0.0:8000->8000/tcp 00394e8605902e1b3f216f4df8b5fec348f4b44f ➜ app git:(master) eb local status Platform: 64bit Amazon Linux 2016.09 v2.3.0 running Docker 1.11.2 Container […]

replaceAWS Elastic BeanStalk上的特定实例?

我们在运行2个实例的Elastic BeanStalk上使用多个Docker环境,我们认为其中一个实例存在一些问题。 什么是replace该特定实例的正确方法? 我正在考虑以下之一: 只需通过EC2控制台终止该实例,并让Elastic BeanStalk旋转一个新的。 将Elastic BeanStalk中的最小实例增加到3,并在第三个实例启动后将其减less到2,并终止有问题的实例。 目标是尽量减less停机时间。

AWS Docker Golang。 'eb deploy'错误

我正在尝试将golang docker部署到AWS。 我使用预定义的FROM golang:1.4.2-onbuild 本地运行 – 精美的作品,没问题。 如果我压缩并上传压缩文件,它在AWS上工作没有问题。 …但是当我尝试'eb部署'我不断收到这个错误。 任何build议,请。 谢谢。 bash-3.2$ eb deploy WARNING: Deploying a previously deployed commit. INFO: Environment update is starting. INFO: Deploying new version to instance(s). WARN: Failed to build Docker image aws_beanstalk/staging-app, retrying… ERROR: Failed to build Docker image aws_beanstalk/staging-app: urce files in /go/src/app [0mtime="2015-08-28T03:48:44Z" level="info" msg="The command [/bin/sh […]

在AWS上监控和扩展基于Docker的Celery工作者群集

所以我有一个docker镜像,通过supervisor运行一个芹菜工作器,在单一docker Elastic Beanstalk(相当长的任务,所以acks late = true , concurrency = 1和prefetch multiplier = 1 )上工作得很好。 麻烦的是我想根据工作人员的有效任务负载来扩展实例,而EB只允许整个networking和CPU负载。 添加一个规则来扩大CPU负载工作正常,但我不能保证EB不会决定在任务中间缩小。 这将触发一个docker stop并有效地杀死任何不能很快完成的正在运行的芹菜(如果我没有弄错的话,10秒)。 理想情况下,我需要一个基于CPU活动和队列中任务的监视器,伪代码如下所示: while check interval has passed if task queue is empty (or workers are not busy) if running instances is greater than 1 scale down 1 instance else if CPU load is higher than threshold scale up […]

如何以编程方式获取运行容器的容器ID(在Docker上)?

我有一个泊坞窗设置的应用程序。 我想在主机上运行一个脚本,在现有的(正在运行的容器)中运行一些命令。 如果我知道容器标识,说…它是50250e572090 …然后我可以像这样运行脚本 例如 … #!/usr/bin/env bash docker exec 50250e572090 example_command_1_here docker exec 50250e572090 example_command_2_here docker exec 50250e572090 example_command_3_here docker exec 50250e572090 example_command_4_here 这工作很好! …但这里的东西是,我只知道图像名称…不是容器ID。 find容器ID …我使用docker ps …我得到这样的东西… CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50250e572090 aws_beanstalk/staging-app:latest "/sbin/my_init" 29 hours ago Up 29 hours 80/tcp, 443/tcp drunk_bardeen 它的输出不是我可以使用的(通过pipe道)。 我可以运行哪个命令来获取容器ID作为输出,然后可以将其input到脚本中? 或者现在很清楚我正在努力达到什么…有更好的方法吗? Ps:我的背景是,我在弹性豆杆上…但是我不明白这是怎么改变的。 不妨在本地主机上…问题是一样的。

如何在http nginx dockerpopup的beanstalk中将httpredirect到https

我有一个django应用程序托pipe在docker elastic beanstalk中,它使用nginx。 对于SSL我使​​用aws证书。 将httpredirect到https我试图在docker容器中使用trhe nginx的“x_forwarded_proto”,但是我得到了一个502错误。 这里是nginxconfiguration: server { listen 80 default_server; server_name www.example.com; access_log /home/docker/logs/nginx-access.log; error_log /home/docker/logs/nginx-error.log; if ($host !~* ^(www.example.com|example.com)$ ) { return 444; } if ( $http_x_forwarded_proto != 'https' ) { return 301 https://$host$request_uri; } location / { uwsgi_pass unix:/var/sockets/api.sock; include /home/docker/server/uwsgi_params; # } } 任何人都可以提出一个更好的解决scheme。

在Elastic Beanstalk中暴露Docker的多个端口

从阅读AWS文档看来,当使用Docker作为Elastic Beanstalk(EB)上的平台(而不是Tomcat等)时,只能显示单个端口。 我试图理解为什么亚马逊创造了这个限制 – 似乎你现在甚至不能同时服务于HTTP和HTTPS。 我想使用Docker作为容器,因为它允许我在同一个容器中运行多个互连的服务器进程,其中一些需要多个端口(例如RTSP)。 这种应用程序是否有任何解决方法,例如RTSP和HTTP服务器都可以在EB上的同一个Docker容器中运行?