Tag: 部署

使用Docker的单容器应用程序的ECS还是EB?

我部署了一个带有Docker的单容器SailsJS应用程序(图像大小约为597.4 MB),并将其连接到ElasticBeanstalk。 但是,由于ECS是为Docker构build的,所以使用EB可能会更好吗?

Docker Host和Container有什么不同?

我开始学习Docker。 但是,即使我在多个地方阅读,我仍然经常感到困惑。 Docker主机和Docker容器。 Docker Engine是处理容器的基础引擎。 Docker容器位于Docker引擎之上。 这是通过食谱(带有shell脚本的文本文件)创build的。 它从集线器中拉出图像,你可以在上面安装你的东西。 在典型的应用程序环境中,您将为系统,应用程序服务器,数据库服务器,Web服务器等(每个容器一个)创build单独的容器。 Docker Swarm是一个容器集群。 Docker主机在哪里进来? 这是Container还是另一个可以将多个容器放在一起的层? 对不起可能是一个基本的问题。 我GOOGLE了这个,但没用。

如何用Docker实现“一二进制”原则

一个二进制原则在这里解释: http : //programmer.97things.oreilly.com/wiki/index.php/One_Binary指出,应该… “构build一个可以在发布pipe道的所有阶段识别和升级的二进制文件,在环境中保存特定于环境的详细信息,例如,这可能意味着将它们保存在组件容器中,已知文件中或path。” 我看到许多开发人员工程师通过在每个环境中创build一个Docker镜像(即,my-app-qa,my-app-prod等)来违反这一原则。 我知道Docker支持不可变的基础架构,这意味着部署后不会更改映像,因此不会在部署后上传或下载configuration。 在不可改变的基础设施和一个二元原理之间是否存在一个权衡,还是它们可以相互补充? 当涉及到从代码分离configuration什么是在Docker世界的最佳做法? 应采取以下哪一种方法… 1)创build一个基本的二进制镜像,然后configuration一个Dockerfile,通过添加环境特定的configuration来扩充这个镜像。 (即我的应用程序 – >我的应用程序产品) 2)在部署时将一个仅二进制docker映像部署到容器中,并通过环境variables传递configuration等。 3)将Docker文件部署到容器后上传configuration 4)从configurationpipe理服务器中从容器内正在运行的泊坞窗镜像下载configuration。 5)保持主机环境中的configuration,并通过绑定挂载使其可用于正在运行的Docker实例。 有没有更好的方法没有提到上面? 如何使用不可变的基础架构来执行一个二进制原则? 它可以做到还是有一个权衡? 最佳做法是什么?

如何停止使用谷歌pipe理虚拟机时创build额外的实例?

每当我部署到Google的Managed VM服务时,控制台都会自动创build一个重复的实例。 我最多可以同时运行15个实例。 我什至尝试使用该命令: gcloud preview app deploy "…\app.yaml" –set-default 我试图做一些研究,看起来即使删除这些重复的实例可能是一个痛苦 。 关于如何制止这种重复的想法?

AWS Beanstalk泊坞窗图像自动更新不起作用

我有一个node.js应用程序打包在托pipe在公共存储库中的docker镜像中。 我已经成功在AWS Beanstalk泊坞窗应用程序中部署了该映像。 问题在于,当我更新公共存储库中的映像时,我期待着Beanstalk应用程序自动更新,如下configurationbuild议。 Dockerrun.aws.json: { "AWSEBDockerrunVersion": "1", "Image": { "Name": "peveuve/dynamio-payment-service", "Update": "true" }, "Ports": [ { "ContainerPort": "8000" } ], "Logging": "/var/log/dynamio" } Dockerfile非常简单: FROM node:4.2.1-onbuild # Environment variables ENV NODE_ENV test ENV PORT 8000 # expose application port outside EXPOSE $PORT 亚马逊的文档很清楚: 可以包含更新密钥。 默认值为“true”,并指示Elastic Beanstalk检查存储库,将任何更新提取到图像,并覆盖任何caching的图像。 但是我必须通过上传新版本的Dockerrun.aws.json描述符来手动更新Beanstalk应用程序。 我错过了什么? 它应该这样工作吗?

在开发过程中重build图像时如何避免冗余和时间损失?

作为一名Vagrant用户,在尝试Docker时,我注意到了开发工作stream与Vagrant和Docker之间的一个重大区别 – 用Docker,我需要从头开始重build我的映像,即使我在代码中做了细微的更改。 这对我来说是个大问题,因为重build图像的过程往往非常冗余和耗时。 也许有一些Docker已经发明了一些聪明的工作stream程,如果是这样的话,它们是什么?

我怎样才能添加一个命令meteormupx启动脚本?

我想补充一下: 运行apt-get install graphicsmagick -y 到我的meteormupx应用程序启动脚本。 当我把它添加到/opt/myapp/config/start.sh它显然是由我的下一个部署overritten。 “模板”文件的位置在哪里构build“/opt/myapp/config/start.sh”脚本?

howto:弹性beanstalk +部署docker +优雅关机

你好伟大的人的计算器, 在EB上托pipe一个docker容器,并在其上运行一个基于nodejs的代码。 当重新部署我们的docker集装箱时,我们希望旧的容器能够正常closures。 我已经find了关于我们的代码如何接收由'docker stop'命令产生的sigterm信号的帮助和指南。 然而,进一步调查EB机器运行/opt/elasticbeanstalk/hooks/appdeploy/enact/01flip.sh在: /opt/elasticbeanstalk/hooks/appdeploy/enact/01flip.sh显示,当从目前的“翻转”到新的上一级容器时,旧的“docker kill” 有没有办法改变这种行为,docker停止? 或者一般来说推荐的方法来处理旧容器的正常closures? 谢谢!

Docker每次构build/推送 – 对于持续部署是否可行?

如果每天部署5-10次,是否每次部署时都要彻底重build并推送一个Docker镜像真的很实用? 我承认CircleCI的持续集成和交付与Docker中提到的好处,即: 请注意,Elastic Beanstalk还允许您部署Dockerfile和相关的源代码,而不是构build映像,但在CircleCI上预先构build映像并在其上运行某种forms的validation后,您的部署将更具确定性,因为您可以删除构build环境作为testing和生产之间的variables。 但是,一旦所有的依赖关系和源代码都包含在内,我们完全构build的webapp映像将接近1GB。 我只是不知道如何实际部署高达200GB /月(即每天10次提交,持续部署),实际上99%不会在构build之间发生变化。 也就是说,它可能只是1K的HTML,JS或CSS被改变来添加一个function。 我更喜欢一种方法,其中docker镜像包含很less更改的软件,其余部分作为捆绑包的一部分进行压缩。 这仍然会导致一个自包含的部署文件(不需要进一步的依赖关系,需要下载),但大大减less构build时间和带宽。

Docker组合连续部署设置

我正在寻找一种方法来部署docker-compose图像和/或构build到远程服务器,具体但不限于DigitalOcean VPS。 docker docker-compose目前正在使用CircleCI持续集成服务,它将自动validationtesting通过。 但是,它应该自动部署成功 。 我docker-compose.yml看起来像这样: version: '2' services: web: image: name/repo:latest ports: – "3000:3000" volumes: – /app/node_modules – .:/app depends_on: – mongo – redis mongo: image: mongo command: –smallfiles volumes: – ./data/mongodb:/data/db redis: image: redis volumes: – ./data/redis:/data docker-compose.override.yml : version: '2' services: web: build: . circle.yml相关部分: deployment: latest: branch: master commands: – […]