如何在生产中扩展Docker容器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在生产中扩展Docker容器相关的知识,希望对你有一定的参考价值。

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

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

假设我有一个运行nginx的docker镜像,并且一个网站连接到外部数据库。如何在生产中扩展容器?

答案

Update: 2019-03-11

首先感谢那些多年来一直赞成这个答案的人。

请注意,这个问题是在2013年8月提出的,当时Docker仍然是一项非常新的技术。从那时起:Kubernetes于2014年6月推出,Docker swarm于2015年2月被整合到Docker引擎中,亚马逊于2015年4月推出了container solution, ECS,,2015年8月推出了Google launched GKE。可以说生产集装箱领域发生了重大变化。


简短的回答是你必须编写自己的逻辑才能做到这一点。

我希望这些功能能够从以下项目中出现,构建在docker之上,旨在支持生产中的应用程序:

Update 1

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

Update 2

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

Update 3

用于管理Docker实例的系统

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

Update 4

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

Update 5

使用Mesos框架在Marathon上运行Docker

Mesosphere Docker Developer Tutorial

Update 6

Tsuru上运行Docker,因为它支持docker-clustersegregated scheduler deploy

Update 7

基于Docker的环境编排

maestro-ng

Update 8

decking.io

Update 9

谷歌kubernetes

Update 10

Redhat重构了他们的openshift PAAS以集成Docker

Update 11

Docker NodeJS lib包装Docker命令行并从json文件管理它。

Update 12

亚马逊的新container service支持集群扩展。

Update 13

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

https://clusterhq.com/

Update 14

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

http://panamax.io/

Update 15

Docker项目现在正在解决编排问题(参见announcement

Update 16

Spotify Helios

也可以看看:

Update 17

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

显示了很多承诺,可以轻松设置Docker编排框架,如Kubernetes和Docker swarm。

Update 18

Rancher是一个快速成熟的项目

http://rancher.com/

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

Update 19

Lattice project是Cloud Foundry的一个分支,用于管理容器集群。

Update 20

Docker最近买了Tutum:

https://www.docker.com/tutum

Update 21

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

http://helm.sh/

Update 22

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

http://vamp.io/

Update 23

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

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

Update 24

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

https://supergiant.io/

Update 25

基于Apache Mesos的容器位于德国

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

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

https://cloud.docker.com/

Update 26

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

另一答案

其他帖子中未提及的一个选项是Helios。它是由spotify构建的,并不会尝试做太多。

qazxswpoi

另一答案

Deis自动扩展Docker容器(除其他外)。以上是关于如何在生产中扩展Docker容器的主要内容,如果未能解决你的问题,请参考以下文章

Docker容器生产实践1——永远设置容器内存限制

使用 Docker 扩展微服务

如何在 Docker 容器中运行 VS Code 的扩展开发主机来测试我的 vscode 扩展?

理解Docker:若干企业生产环境中的容器网络方案

如何在容器中运行docker命令

Kafka Docker - 无法从 docker 容器外部生产或消费