Tag: 亚马逊 ec2

Docker Volume vs AWS s3

也许我的假设完全没有,但是我对Docker和Dockerized containers working under the same docker-compose network bridge都很Dockerized containers working under the same docker-compose network bridge ,我们有两个应用程序,它们是Dockerized containers working under the same docker-compose network bridge 。 现在,我们一直在寻找这两个容器可以共享一些文件的方式。 因为我们在云端,所以有一个build议是Amazon S3 Bucket。 这是伟大的。 但我的问题是,因为我们在Docker envionment上分享Docker卷中的这些文件没有更多的意义吗? 我认为这正是Docker卷的内容。 一个可以共享文件的挂载虚拟位置。 在阅读了Docker卷之后,至less这是我的浅薄和简单的理解 所以我有一些问题 我的假设是, AWS s3 bucket和Docker volumes提供了类似的function,比如将苹果与橘子进行比较? 如果我的假设是正确的,那么Docker Volume有资格被称为对象存储? 如果它有资格被称为对象存储,那么使用Docker Volume代替AWS s3会是明智的吗? 如果没有,为什么?

Docker化的MongoDB在长时间写入capped collectin(SEGFAULT)时不断崩溃,

我们运行一个很大的MongoDB实例(cca 500GB的数据)和一些日志(非关键数据,格式可变的JSON文档),我们需要定期删除最早的logging。 我们决定将数据移动到一个固定大小的封顶集合。 于是我们build立了一个新的mongo实例(为了兼容MongoDB版本3.2.14),创build了一个集合并在其中build立了索引,并开始按照时间顺序将原来的mongo中的文档复制到新的mongo中。 复制数据的脚本如下所示: import pymongo from pymongo.errors import BulkWriteError import traceback src_mongo = pymongo.MongoClient('old_mongo_ip') src = src_mongo['db_name']['collection_name'] dst_mongo = pymongo.MongoClient('localhost') dst = dst_mongo['db_name']['collection_name'] bulk = dst.initialize_unordered_bulk_op() count = 0 total = 0 for doc in src.find().sort([("collector_tstamp",1)]): bulk.insert(doc) count += 1 if (count > 1000): try: result = bulk.execute() total += result['nInserted'] except BulkWriteError […]

如果应用程序重新启动,如何在AWS中保持日志?

我使用Docker在AWS中运行一个Spring引导应用程序。 有时亚马逊必须重新启动一个硬件。 然后,Beanstalk中的实例的Environment Health进行降级,警告并重新启动。 我确实需要过去7天的应用程序日志,但由于未预见的AWS硬件问题而重新启动,因此我丢失了信息。 我怎样才能避免它,使AWS即使在重新启动后保存我所有的日志?

从用户数据重新启动ecs-agent

我将EBS挂载到AWS中的ecs-enabled实例。 对于Docker来说EBS是可见的,docker守护进程必须重新启动。 我向用户数据添加了适当的命令。 但是我无法从用户数据重新启动ecs-agent docker容器。 以下是我的用户数据: #!/bin/bash echo ECS_CLUSTER=MYCLUSTER>> /etc/ecs/ecs.config mkfs -t ext4 /dev/sdb mkdir /db/ mount /dev/sdb /db/ service docker stop service docker start docker start ecs-agent 在SSH上,我可以看到ecs-agent容器已经创build,但没有运行。 当我手动启动容器时,它正在工作。 在实例启动期间启动它的正确方法是什么? 我的用户数据脚本中缺less什么? 我需要创build一个用于自动缩放组的启动configuration。 实例应该启用EBS并且对泊坞窗可见。

AWS ECR图像列表

我有一个ECR存储库设置,现在包含两个图像,顺序标签1和2.我打算从这个时候自动推动docker图像,我的要求是当我下一次推图像,它的标签应该是3,所以我必须以某种方式确定下一个数字应为3,因为最新版本是2.我不想保留本地版本。 所以我需要ECR本身的信息。 有什么想法吗? 以下命令将给出存储库中所有图像的列表 aws ecr list-images

如何将Docker容器移动到AWS

如何将Docker容器从.Local系统移动到AWs.I已经在我的本地系统中configuration了docker。 我需要将Docker容器从本地系统移动到aws EC2实例。

通过Terraform发送Docker日志到AWS CloudWatch

我的目标是通过terraform将Docker容器日志发送到CloudWatch。 这是我用于IAM的ECSangular色: { "Version": "2008-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Principal": { "Service": ["ecs.amazonaws.com", "ec2.amazonaws.com"] }, "Effect": "Allow" } ] } 这里是ECS服务angular色策略: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticloadbalancing:Describe*", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "ec2:Describe*", "ec2:AuthorizeSecurityGroupIngress", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "*" ] } ] } 在我的docker集装箱的任务定义,除了其他事情我有这个为cloudwatch日志logging: "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": […]

服务器是否在主机“localhost”(:: 1)上运行,并接受端口5432上的TCP / IP连接?

在安装Ruby on Rail时,我在本地系统上运行Docker实例时出现问题。 请参阅我的dockerconfiguration文件: – Dockerfile FROM ruby:2.3.1 RUN useradd -ms /bin/bash web RUN apt-get update -qq && apt-get install -y build-essential RUN apt-get -y install nginx RUN apt-get -y install sudo # for postgres RUN apt-get install -y libpq-dev # for nokogiri RUN apt-get install -y libxml2-dev libxslt1-dev # for a JS runtime RUN […]

是否可以在EC2实例上执行AWS CLI命令,而不在AWS上放置AWS凭证?

我有一个在Docker容器上运行的API服务器,Docker容器在AWS ec2实例上运行。 是否有可能使服务器执行AWS CLI命令而不将我的aws凭证放在泊坞窗容器上? 因为我认为aws凭证只能放在我的本地机器上。 我不认为把它放在可以被别人访问的远程机器上是不安全的。

在Amazon EC2实例的Docker容器中运行iPython Notebook

如何从浏览器运行和访问iPython Notebook(在EC2上的Docker中)? 这是我试过的: 从EC2快速启动菜单中,selectt2.micro实例上的所选Amazon Linux AMI 2015.03。 除了为“configuration安全组”创build的3个规则之外,所有内容都保留为默认值: types:“SSH”; 议定书:“TCP”; 端口范围:“22”; 来源:“任何地方”; types:“HTTPS”; 议定书:“TCP”; 端口范围:“443”; 来源:“任何地方”; 键入:“自定义TCP规则”; 议定书:“TCP”; 端口范围:“8888”; 来源:“任何地方”; SSH到实例后: $ sudo yum install -y docker ; sudo service docker start $ sudo docker pull continuumio/miniconda # Anaconda includes iPython Notebook $ sudo docker run -it -p 8888:8888 continuumio/miniconda ipython notebook 然后启动浏览器https://ec2-xx-xx-xxx.compute-1.amazonaws.com:8888没有工作。