Tag: amazon web services

AWS ECS奇怪的docker行为

我对亚马逊的EC2服务相当陌生,对于我从中得到的奇怪行为感到茫然。 我有一个Docker镜像,在本地运行时运行得非常完美。 我已经将其上传到存储库,并将其定义为在EC2中运行集群/服务/任务定义。 当我试图蜷缩到我正在运行的服务时,我被告知连接被拒绝(因为我假设端口未被正确打开或映射)。 如果我使用ssh进入Amazon EC2并使用-p 1200:1200标志手动启动映像,它将再次运行而不会出现问题,并且可以无错地curl。 除此之外,当我尝试从amazon自动部署的映像中检索日志时,它们是空的。 在EC2上本地或手动运行时,日志存在且正确。 我的入站和出站规则不是我所知道的问题,而且我所知道的端口映射也是正确设置的。 我已经包含了所有描述的行为的屏幕截图,以及我的Dockerfile的副本。 停止亚马逊的运行图像,并用-p 1200:1200手动启动:(在这样做后,我的服务响应curl) 这样做的日志: 运行图像的EC2空日志: 入境规则: 出站规则: 端口映射: Dockerfile: FROM thedarbear/facerec EXPOSE 1200 RUN mkdir -p /facerec WORKDIR /facerec COPY . /facerec RUN cd /facerec CMD python3 -u server.py 当地检查: https://pastebin.com/7Y48ukqa ec2检查: https://pastebin.com/EdJRSEpi 任何洞察到为什么发生这将不胜感激!

健康检查失败 – Atlassian的Localstack

就像标题所说的那样。 我试图通过CentOS 7上的docker运行localstack,除此之外没有任何问题。 今天的问题是ERROR:localstack.services.kinesis.kinesis_starter:Kinesis health check failed: Could not connect to the endpoint URL: http://localhost.localdomain:4568/ 这显然是整个事情重新启动的原因,这是不太理想的,当s3模拟不坚持… 而不是奋斗,我认为这将是更容易没有kinesis运行,甚至更好; 只运行我尝试使用的服务。 我认为SERVICES环境variables可能会帮助,但它似乎只指定端口。 如果我排除提供的列表中的服务,他们运行不pipe… 有什么办法可以selectlocalstack中提供的服务的一个子集? 编辑 所以经过一些摆弄,阅读等等,设法通过localstack start –docker 以前用户没有适当的权限,运行sudo localstack start –docker显然忽略了我设置的环境variables。 但现在已经解决了,我刚刚开始S3和SES服务。 所以S3现在遇到了同样的错误。 ERROR:localstack.services.s3.s3_starter:S3 health check failed: Could not connect to the endpoint URL: http://localhost.localdomain:4572/即使我可以自己使用它,它工作正常,检查失败。 更多编辑 所以我只是不打算使用LocalStack。 甚至不知道问题出在哪里,可以在博托或我的虚拟机的configuration,但我有更好的事情要做,比追踪微不足道的收益… 可能在将来再次登记,看看那是怎么回事。

ECS使用相同的任务更新服务,但不同的docker图像

我是一个问题,要么我不明白,要么就是一些古怪的服务。 我更新我的代码,创build一个新的Docker镜像,并将其推送到使用ECS进行部署。 问题是,当任务定义没有改变时,即使ECR中的图像得到更新,代码也不会被部署。 怎样才能让我的代码部署呢? 我假设,当图像已经改变,服务运行已经注册的任务,应该拉图像吗? 我运行的命令的例子 aws ecs register-task-definition –cli-input-json file:///deploy/tasks/my-task-definition.json aws ecs update-service –service my-service –cluster my-clusdter –task-definition my-task-defintion 我第一次运行这些命令时,部署了代码,如果我更新我的代码,将新的图像推送到registry,然后运行这些命令,我​​的代码不会被部署。

有没有办法在Docker中安装Docker命令行补丁以进行AWS CE部署?

我已经按照说明部署了AWS CE堆栈的CloudFormation Docker 。 到目前为止,我还没有能够在任何节点上安装Docker命令行补全 。 授予在这些操作系统是一个特殊的(显然有点缩小)操作系统,但它有/bin/bash上,所以应该有一种方法来获得自动完成运行,对不对?

禁用swarmpipe理器重新创build新的容器

我有一个由一名经理和三名工人组成的群组。 当其中一名工人重新启动时,pipe理人员会将失败的工人的容器重build为其他健康的工人。 我明白,这是如何设置群体操作,但我想禁用此function,所以经理不会重新从重新启动的工人的容器,而是等待工人再次回来,并保留在那里的容器。

从Internet连接到本地AWS IP地址

我遇到了一个项目http://scrapoxy.readthedocs.io/ ,我已经在ec2上安装了快速入门( http://scrapoxy.readthedocs.io/en/master/quick_start/index.html )。 如果你去 scrapoxy.io 你会看见 Monitor at http://localhost:8889 从命令行运行: ubuntu@ip-***-31-24-***:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 36cd618ff85d fabienvauchelles/scrapoxy "/bin/sh -c 'scrap…" 14 minutes ago Up 14 minutes 0.0.0.0:8888-8889->8888-8889/tcp stoic_roentgen 基于0.0.0.0:8888-8889->8888-8889/tcp,我希望我可以通过使用我的EC2节点的公共DNS和端口8889访问监控地址: ec2-**-84-***-***.compute-1.amazonaws.com:8889 但是当我用firefox在本地打开这个地址时,连接超时。 有没有办法从公共networking访问本地进程? 编辑: 不,我没有,我的安全小组看起来像: 当我打开我为这个项目创build的正向代理组时,我看到: 我没有使用AWS的经验,我应该在这里添加吗?

失败(404错误)通过AWS EBS泊坞窗环境中的Nginx访问Amazon Linux API泊坞窗服务

我已经使用Ubuntu平台和NGINX创build了具有多容器Dockers的AWS Elastic Beanstalk(EBS)环境。 我已经将NGINX安装在一个单独的docker容器中,并将来自NGINX的API调用转发给其他API泊坞窗。 使用Amazon Linux OS创build的API泊坞窗。 分配给NGINX的80端口和其他API在不同的端口映射到NGINX(nginx.conf)。 使用单个任务定义将所有Docker部署到Elastic Beanstalk环境中。 NGINX成功在EC2实例中成功运行,并正常工作在80端口。 我还部署了一个API Docker容器并将其映射到NGINX中。 通过NGINX访问API时出现“404未find”错误。 请检查下面的NGINXconfiguration文件,并帮助我解决问题。 NGINX Conf: upstream save_user_video-api_hosts { server dev-save-user-video:6666; } upstream user_complaints-api_hosts { server dev-user-complaints:7777; } server { listen 80; server_name xxx.yyyy.me; location /save-user-video { proxy_pass http://save_user_video-api_hosts; } location /user-complaints { proxy_pass http://user_complaints-api_hosts; } } }

Docker强制覆盖最后一个标记并推送AWS ECR

我正在通过docker push …命令将我的映像推送到AWS ECR。 图像用特定版本标记。 当我使用相同的标记实际推送两个不同的图像时,会在AWS ECRregistry中生成两个图像,其中一个将变为未标记。 0.0.1 sha256:572219f8764b21e5a045bcc1c5eab399e2bc2370a37b23cb1ca9298ea39e233a 138.33 MB sha256:60d161db0b9cb1345cf7c3e6119b8eba7114bc2dfc44c0b3ed02454803f6ef76 138.21MB 这是造成的问题是,如果我继续推动更多的图像具有相同的标签,存储库的总大小不断增加。 我想要的是在推送图像时“覆盖”现有的标签。 这意味着两个不同的sha256摘要具有相同的标签会导致registry中的单个图像(当然标签版本发生变化时也是多个)。 有可能吗? 如果可能,我想避免使用“无标记”的修剪技术。 现在,我的发布脚本删除以前的相同标记,如果存在,但我觉得这应该由AWS ECR或docker push直接处理。

厨师不启动docker集装箱

我在local模式下使用chef-client来安装docker-ce并运行aws-ecs-agent-container Docker守护进程已成功安装并正在作为containerd运行。 当我尝试启动ecs代理容器时,我在日志中获得以下内容 # docker logs -f `docker ps -qa` 2017-07-19T16:18:38Z [INFO] Starting Agent: Amazon ECS Agent – v1.14.3 (15de319) 2017-07-19T16:18:38Z [INFO] Loading configuration 2017-07-19T16:18:38Z [ERROR] Unable to connect to docker daemon. Ensure docker is running. module="TaskEngine" err="Get http://unix.sock/v1.17/version: dial unix /var/run/docker.sock: connect: no such file or directory" 2017-07-19T16:18:38Z [CRITICAL] Error creating Docker client: Get […]

Laravel项目+媒体服务器,用于部署在Docker上的直播和vodstream

经过几个小时的研究,没有什么相关的,我决定问。 我对videostream的概念相当陌生,所以如果我的问题看起来很简单,请原谅我。 我正在构build一个需要包含媒体streamfunction的项目。 它应该有以下select: video点播 – 用户上传文件到服务器,需要转换成不同分辨率的MP4文件。 对于转码,我正在尝试使用部署为Docker镜像的CloudTranscode( https://github.com/bfansports/CloudTranscode )的方法。 服务器应该提供具有一定缓冲区大小的播放器,所以当播放暂停时,我们caching例如+5秒,就是这样。 自适应比特率会很好,但我不知道这是如何与不同的玩家(我想使用Video.JS由于高定制选项,再加上它是免费的)。 实时video捕捉 – 用户访问某个页面,捕捉来自networking摄像头的video,并将该stream发送到服务器,以进一步将stream发送到客户端。 对于大多数浏览器WebRTC可能是一个不错的select,但iOS设备可能不会使用它,所以这里的任何build议将不胜感激 实时videostream – 用户访问某个页面,在那里他们可以观看从第2点提到的用户捕获的stream。在这里,stream可能被一个或多个用户观看(也可能是1或10,000个用户) 切入我的问题追随如下: 考虑到高度可扩展性(在AWS EC2上部署为Docker容器),以及stream式处理和观看式用户以及多设备/平台的可能巨大负载, 什么是最适合此目的的媒体服务器软件 /浏览器支持? 什么是最好的网页媒体播放器 (再次)将是跨浏览器/平台/设备,牢记与媒体服务器本身的良好整合的目的是自适应分辨率stream? 如果玩家在出现问题时有广泛的自定义选项(例如hover时间线时的缩略图显示),那也是很好的。 你知道任何更好的video转码解决scheme,比提到的CloudTranscode ,考虑到Docker设置,以及一些易于使用的API(这里一些实时转码会很好,所以工作人员不需要等待整个file upload)? 如果我在EC2实例上使用自动调节function,会发生什么情况,并且媒体服务器的更多实例正在自动启动? 假设我们有实例1(I1)和实例2(I2)。 一些用户开始在I1上进行广播,并且有1000个用户正在观看作为服务器实例的限制的stream,因为资源不足。 接下来,另外两个用户正在尝试查看stream,因此他们正在通过AWS负载平衡器连接到I2 – 这对于直播stream是如何工作的? 对不起,我对这个概念是全新的,所以再次 – 原谅我的基本问题。 到目前为止,能够find一些可能与我的需求相关的媒体服务器,包括: Wowza媒体服务器(付费) Red5媒体服务器(免费) Kurento媒体服务器(免费) 我的应用程序是在Laravel编写的,我需要一些PHP与媒体服务器的集成。 显然,免费的解决scheme是最受欢迎的,但是只要付费解决scheme满足我的需求,我并不介意付费。 这里的任何input都会非常简单 – 甚至是部分解决scheme/build议。 我有点卡在这里,所以任何可以使我更接近解决scheme的build议是非常受欢迎的! 最好的祝福