Tag: amazon web services

Jenkins Amazon ECR插件login问题“授权令牌已经过期”

我已经按照Amazon ECR插件( https://wiki.jenkins-ci.org/display/JENKINS/Amazon+ECR ,这只是指示用户安装Amazon ECRconfigurationDocker构build和部署插件)上的说明, ,但Jenkins无法通过ECR进行身份validation。 产生的错误信息是: denied: Your Authorization Token has expired. Please run 'aws ecr get-login' to fetch a new one. 任何人都可以提供的build议非常感谢。

在Windows IIS Docker容器中无法启动交互式会话

我正在使用AWS“Windows Server 2016 Base with Containers”映像(ami-5e6bce3e)。 使用docker info我可以确认我有最新的(服务器版本:1.12.2-cs-ws-beta)。 从Powershell(以Admin身份运行)我可以成功运行交互模式下的“microsoft / windowsservercore”容器,连接到容器中的CMD: docker run -it microsoft/windowsservercore cmd 当我尝试以交互模式运行“microsoft / iis”容器时,虽然我能够连接到IIS(通过浏览器),但我从来没有连接到容器中的交互式CMD会话。 docker run -it -p 80:80 microsoft/iis cmd 相反,我只是得到: 服务'w3svc'开始 使用另一个Powershell窗口,我可以: docker container ls …并看到我的容器运行。 试图附加locking,永远不会返回。 我已经转换区域,发现每个区域都有不同的AMI: us-east-1:ami-d08edfc7 us-west-2:ami-5e6bce3e …这两个都有相同的结果。 使用的相关链接: AWS公告和简单的Docker例子 MSDN简单的Docker例子 MSDN IIS Docker示例 更新 使用下面的链接,我能够创build自己的Dockerfile基于服务器基础和安装IIS,这似乎工作正常。 自定义Dockerfile

mongodb replica set master“stateStr”:“REMOVED”

我有一个在aws vpc泊坞窗容器(mongo:3.0.11)中运行的mongodb replicaset(对于这个特定的情况只是一个节点,主要)。 该服务器每天晚上closures,并在第二天早上重新开始。 经过几个月的无缝运行,在过去的几个星期里我有一些错误。 每周有一到两次mongo启动失败。 rs.status()返回stateStr: REMOVED 并作为错误消息: errmsg : "Our replica set config is invalid or we are not a member of it" 望着蒙戈日志,我有: 2016-06-07T12:01:48.724+0000 W NETWORK [ReplicationExecutor] getaddrinfo("database.my_vpc_dns.net") failed: Name or service not known 当这个错误发生时,docker容器上的一个简单的重启将会被修复,但是我正在努力的去理解偶尔发生这个错误的原因。

如何参数化Dockerfile?

我正在为Spring Boot应用程序创build一个Dockerfile。 该应用程序需要几个命令行参数。 在Dockfile : CMD java -jar Application.jar –bucket = bucket.list –key = lost 但是,在Dockfile对bucket和key的值进行硬编码是最佳做法吗? 如果没事的话,我可以忍受。 否则,我想知道如何参数化Dockfile 。 该应用程序将部署在AWS上,如果这打开了更多的build议。

docker集装箱不断增长

我有一个循环pyhton脚本 将video块从AWS S3下载到/文件名 按顺序对文件进行sorting并连接它们。 将整个处理后的videofile upload到AWS S3 删除文件夹/文件名 然后继续循环,直到AWS SQS队列为空。 脚本很好用! 我已经运行了好几个月。 硬盘空间有所不同,但从来没有得到大约5%,这取决于video的大小。 我决定把这个脚本放在docker容器中,运行docker-compose,这样我就可以一次运行一堆脚本。 问题是硬盘驱动器填满了! 我知道用5运行磁盘上的空间将被雇佣,但是当我完成处理文件的时候得到删除。 但与docker,似乎是一个caching或什么的。 我进入每个容器,他们运行良好。 删除旧文件和所有。 不知道docker集装箱和作为服务运行之间的区别是否会对高清产生影响。 任何方向都会很棒。 添加到此。 当我“docker”docker集装箱硬盘空间释放。 我运行一个docker ps -s,容器上的空间并不疯狂。 就好像当你在docker容器里面写一个“rm”文件时,它永远不会是真的。

AWS泊坞窗设置 – 无caching标志

我在AWS上使用EB来部署dockerfile。 目前我部署到脚本: dockerfile和启动服务器的run.sh文件。 dockerfile大致看起来像这样 FROM ubuntu:14.04 MAINTAINER xy […install a java server…] ADD run.sh /run.sh RUN chmod +x /*.sh EXPOSE 8080 CMD ["/run.sh"] run.sh启动java服务器。 我想为–no-cache设置–no-cache标志。 我可以在哪里设置?

如何使用docker在AWS云中发布基于Java的Web应用程序

我们已经build立了Java Web应用程序,它提供了各种REST API ..我想有无痛的部署进度..这里是所需的场景.. 用户 – >负载平衡器 – > AS1,AS2,AS3 … 这里AS =应用程序服务器(EC2上的Tomcat)或者Docker实例(我更喜欢docker实例) 第一次期望的stream量: 开发人员激发maven并build立.war文件 我们可能会开发使用这个.war文件生成docker镜像的脚本。 执行将这个docker工人放在ELB后面的步骤 重新部署: 开发人员激发maven并build立.war文件 我们可能会开发使用这个.war文件生成docker镜像的脚本。 执行将这个docker工人拖到ELB后面的步骤并销毁前一个.. 我对DevOps很陌生,在上面的步骤中可能会犯一些错误。 所以请随时纠正我,并提供指导,以实现这一目标。 (如果这是重复的,请提供相关问题的链接) 提前致谢。

如何从Elastic Beanstalk实例访问S3存储桶中的dockerconfiguration文件

我创build了我的Dockerrun.aws.json文件,并在创build我的Beanstalk(docker)环境时上传了它。 我还将由“ .dockercfg login”命令创build的.dockercfg文件上载到Dockerrun.aws.jsonconfiguration中指定的S3存储桶中。 但是,当我尝试启动环境时,收到错误(post底部),指出EC2实例无权访问存储桶中的.dockercfg文件。 如何确保Beanstalk应用程序可以访问提供的S3存储桶中的configurationjson文件? 谢谢! (下面的错误) i-64c62de7 Severe 1 day – – – – – – – – – – 0.00 0.01 0.3 0.0 0.0 99.6 0.1 Application deployment failed at 2016-02-27T04:30:54Z with exit status 1 and error: Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh failed. Traceback (most recent call last): File "/opt/elasticbeanstalk/containerfiles/support/download_auth.py", line 18, in download_auth(argv[1], argv[2], […]

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

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

Docker和Ansible如何配合实现Continuos Delivery / Continuous Deployment

我不熟悉configurationpipe理和部署工具。 我必须实施一个持续交付/持续部署工具,用于我曾经投入的最有趣的项目之一。 首先,我个人对AWS感到满意,我知道Ansible是什么,它背后的逻辑和目的。 我对Docker没有同样的理解,但是我明白了。 我经历了很多互联网资源,但是我无法得到大局。 我一直在挣扎的是他们如何融合在一起。 使用Ansible ,我可以将我的基础架构作为代码来pipe理; 构buildEC2实例,安装软件包…我甚至可以通过拉取代码,修改configuration文件和启动Web服务器来部署完整的应用程序。 Docker本身就是一个打包应用程序的工具,并确保它可以在你部署的任何地方运行。 我的问题是: Docker(或Ansible和Docker)如何扩展持续集成过程! 假设我们有一个源代码库,团队成员完成了一个function的工作,他们推动他们的工作。 jenkins检测到这一点,运行所有的验收/单元/集成testing套件,如果他们都通过了,它宣称它是一个稳定的构build。 Docker如何适应这里? 我的意思是,当团队推动他们的工作时,Jenkins是否必须拉取应用程序中编码的Docker文件源,构build应用程序的图像,启动容器并运行所有testing,或者运行经典testing一切都很好,那么它会从Docker文件构buildDocker镜像并将其保存在一个私有的地方? jenkins应该使用xyz标记最终的图像! Docker容器configuration: 假设我们有Jenkins构build的映像存储在某个地方,如何处理将相同的映像部署到不同的环境中,甚至是不同的configuration参数(Vhostsconfiguration,数据库主机,队列URL,S3端点等等)什么是最灵活的方式来处理这个问题而不破坏Docker原则? 这些configuration是否在构build时或者基于它的容器开始时支持在映像中,如果是的话,它们是如何被注入的? Ansible和Docker : Ansible提供了一个Docker模块来pipe理Docker容器。 假设我解决了上面提到的问题,当我想部署我的应用程序的新版本xtz时,我告诉Ansible将它从存储的位置拉出来,启动应用程序容器,那么如何注入configuration设置? Ansible在运行之前是否需要loginDocker镜像(这听起来令人费解),并且使用Jinja2模板和经典主机一样! 如果没有,这是如何处理?! 对不起,如果这是一个很长的问题,或者我拼错了一些东西,但这是我的想法。 我在过去的两周被封锁了,我无法弄清楚正确的工作stream程。 我希望这是未来读者的参考。 请阅读您的经验和解决scheme非常有帮助,因为这看起来像一个常见的工作stream程。 先谢谢你。 任何帮助深表感谢。