如何在生产中扩展Docker容器

问题描述

更新时间:2019-03-11

首先,感谢那些多年来对这个答案的支持。

请注意,这个问题是在2013年8月提出的,当时Docker仍然是一项非常新的技术。此后:Kubernetes于2014年6月推出,Docker swarm在2015年2月被集成到Docker引擎中,亚马逊于2015年4月推出了其容器解决方案ECS,谷歌于 2015年8月推出了GKE。发生了很大变化。

简短的答案是,您必须编写自己的逻辑来执行此操作。

我希望这种功能会在以下基于docker的项目中出现,并旨在支持生产中的应用程序:

更新1

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

更新2

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

更新3

用于管理Docker实例的系统

以及有关如何使用Packer,Docker和Serfdom类的工具交付不可变的服务器基础结构模式的演示

更新4

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

更新5

使用Marathon框架在Mesos上运行Docker

Mesosphere Docker开发人员教程

更新6

Tsuru上运行Docker,因为它支持docker- cluster单独的调度程序部署

更新7

基于Docker的环境编排

大师级

更新8

装饰

更新9

Google kubernetes

更新10

Redhat重构了openshift PAAS以集成Docker

更新11

Docker NodeJS库包装了Docker命令行并通过json文件对其进行管理。

更新12

Amazon的新容器服务可在集群中进行扩展。

更新13

严格来说,Flocker不会“扩展”应用程序,但是它旨在实现使状态容器(运行数据库服务?)可跨多个Docker主机移植的相关功能:

https://clusterhq.com/

更新14

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

http://panamax.io/

更新15

Docker项目现在正在本地处理业务流程(请参阅公告

更新16

Spotify Helios

也可以看看:

更新17

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

展现出巨大的希望,使您可以轻松设置Docker编排框架(如Kubernetes和Docker swarm)。

更新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

分布式的,高度可用的,支持数据中心的调度程序

来自给我们Vagrant和其他强大工具的人。

更新24

适用于AWS的容器托管解决方案,开源且基于Kubernetes

https://supergiant.io/

更新25

位于德国的基于Apache Mesos的容器托管

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

Docker Inc.还提供了名为Docker cloud的容器托管服务

https://cloud.docker.com/

更新26

Jelastic是一项托管的PAAS服务,可自动缩放容器。

解决方法

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

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

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...