如何在生产中扩展Docker容器

所以我最近发现了这个很棒的工具,它说

Docker是一个开源项目,可以轻松地从任何应用程序创建轻量级,可移植,自给自足的容器。 开发人员在笔记本电脑上构建和测试的相同容器可以在规模,生产环境,虚拟机,裸机,OpenStack集群,公共云等等上运行。

比方说,我有一个运行Nginx并且网站连接到外部数据库的docker映像。 我如何在生产中缩放容器?


简单的答案是,你必须编写自己的逻辑来做到这一点。

我期望这种特性能够从docker之上构建的以下项目中出现,并且旨在支持生产中的应用程序:

  • 弗林
  • DEIS
  • coreos
  • Mesos
  • 更新1

    我最近发现的另一个相关项目:

  • 大师
  • 更新2

    最新版本的Openstack包含对管理Docker容器的支持:

  • Docker Openstack
  • Paas区域内的OpenStack
  • 更新3

    管理Docker实例的系统

  • 船厂
  • 并介绍如何使用Packer,Docker和Serf等工具来提供不可变的服务器基础架构模式

  • 拥有不可变基础设施的FutureOps
  • 幻灯片
  • 更新4

    一篇关于如何使用serf将Docker容器连接在一起的整洁文章:

  • 分散Docker:如何在Docker中使用serf
  • 更新5

    使用Marathon框架在Mesos上运行Docker

    Mesosphere Docker开发者教程

    更新6

    在Tsuru上运行Docker,因为它支持docker-cluster和分离的调度程序部署

  • http://blog.tsuru.io/2014/04/04/running-tsuru-in-production-scaling-and-segregating-docker-containers/
  • 更新7

    基于Docker的环境编排

    大师-NG

    更新8

    decking.io

    更新9

    Google kubernetes

    更新10

    Redhat重构了他们的openshift PAAS来整合Docker

  • 项目原子
  • Geard
  • 更新11

    Docker NodeJS lib封装Docker命令行并通过json文件管理它。

  • 泊坞窗-CMD
  • 更新12

    亚马逊的新容器服务支持在集群中进行扩展。

    更新13

    严格地说,Flocker不会“扩展”应用程序,但是它被设计用来完成一个相关的功能,让有状态的容器(运行数据库服务?)可以跨多个docker主机移植:

    https://clusterhq.com/

    更新14

    一个用于创建描述Docker应用程序的可移植模板的项目:

    http://panamax.io/

    更新15

    Docker项目现在正在本地寻找编排(参见公告)

  • Docker机器
  • Docker群
  • Docker撰写
  • 更新16

    Spotify Helios

    也可以看看:

  • https://blog.docker.com/tag/helios/
  • 更新17

    Openstack项目现在有一个名为Magnum的新“容器即服务”项目:

  • https://wiki.openstack.org/wiki/Magnum
  • 展示了许多承诺,可以轻松设置Docker业务流程框架,如Kubernetes和Docker群集。

    更新18

    Rancher是一个快速成熟的项目

    http://rancher.com/

    良好的用户界面和强烈关注混合Docker基础设施

    更新19

    莱迪思项目是Cloud Foundry用于管理容器集群的分支。

    更新20

    Docker最近买了Tutum:

    https://www.docker.com/tutum

    更新21

    部署在Kubernetes上的应用程序的包管理器。

    http://helm.sh/

    更新22

    Vamp是一个开放源代码和自托管平台,用于管理依赖容器技术的(微型)面向服务的体系结构。

    http://vamp.io/

    更新23

    分布式,高可用性,数据中心感知调度程序

  • https://www.nomadproject.io/
  • 从给我们流浪者和其他强大工具的家伙。

    更新24

    适用于AWS的开放源码和基于Kubernetes的容器托管解决方案

    https://supergiant.io/

    更新25

    基于Apache Mesos的容器位于德国

    https://sloppy.io/features/#features

    而Docker Inc.也提供一个名为Docker云的容器托管服务

    https://cloud.docker.com/

    更新26

    Jelastic是一个托管的PAAS服务,可自动扩展容器。


    Deis自动缩放Docker容器(除其他外)。

    Deis(发音为DAY-iss)是一款开源PaaS,可以轻松在自己的服务器上部署和管理应用程序。 Deis在Docker和CoreOS的基础上构建了一个具有Heroku风格工作流程的轻量级PaaS。

    这是开发人员工作流程:

    deis create myapp                      # create a new deis app called "myapp"
    git push deis master                   # built with a buildpack or dockerfile
    deis scale web=16 worker=4             # scale up docker containers
    

    Deis自动在CoreOS集群中部署您的Docker容器,并配置Nginx路由器将请求路由到健康的Docker容器。 如果主机死亡,容器会在几秒钟内自动在另一台主机上重新启动。 只需浏览到代理网址或使用deis open来打你的应用程序。

    一些其他有用的命令:

    deis config:set DATABASE_URL=          # attach to a database w/ an envvar
    deis run make test                     # run ephemeral containers for one-off tasks
    deis logs                              # get aggregated logs for troubleshooting
    deis rollback v23                      # rollback to a prior release
    

    要看到这一点,请查看终端视频http://deis.io/overview/。 您还可以了解Deis概念或直接部署您自己的私人PaaS。


    看看Rancher.com - 它可以管理多个Docker主机等等。

    链接地址: http://www.djcxy.com/p/30141.html

    上一篇: How to scale Docker containers in production

    下一篇: Run a Docker Image as a Container