当前位置: 首页 > 面试题库 >

如何在生产中扩展Docker容器

酆耀
2023-03-14
问题内容

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

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

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


问题答案:

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

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

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

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

  • flynn
  • deis
  • Coreos
  • mesosphere

更新1

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

  • github

更新2

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

  • Docker Openstack的
  • OpenStack中的Paas区域

更新3

用于管理Docker实例的系统

  • shipyard

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

更新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的环境编排

大师级

更新8

装饰

更新9

Google kubernetes

更新10

Redhat重构了openshift PAAS以集成Docker

  • projectatomic
  • openshift.

更新11

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

  • docker-cmd

更新12

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

更新13

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

https://clusterhq.com/

更新14

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

http://panamax.io/

更新15

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

  • Docker machine
  • Dockerswarm
  • Dockercompose

更新16

Spotify Helios

也可以看看:

  • https://blog.docker.com/tag/helios/

更新17

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

  • https://wiki.openstack.org/wiki/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

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

  • https://www.nomadproject.io/

来自给我们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服务,可自动缩放容器。



 类似资料:
  • 问题内容: 可在https://hub.docker.com/r/tensorflow/tensorflow/上使用tensorflow docker容器,以使用其他库扩展此容器,例如我知道两个选项。 运行容器并运行 附加到构建此容器的 还有其他选择吗?类似于从dockerFile 创建容器,然后在该容器上安装。 阅读如何扩展现有的docker映像为此,创建具有这些内容的dockerFile?:

  • 进入php源码目录中,配置需要提供mysql_config文件的位置,而且mysql_config文件又要去找mysql其他文件。 由于我的php 和mysql 是2个容器 ,不在一个文件系统里,这可怎么办呀?

  • 所以,我需要在CMS中做一个扩展,称为TYPO3。这里有一些关于这个扩展的信息: “对于新的TYPO3 6.1网站,我们需要一个新闻稿扩展(基于ExtBase/Fluid),该扩展应包含: 标题/说明 目前实际上没有详细视图的设计,所以没有详细视图的链接。所以,现在,请专注于前端列表视图。" 我以前从未使用过这个CMS,所以我读了一下,发现我需要使用扩展生成器来创建这个扩展。所以,我已经下载并安装

  • 问题内容: 我必须安装到docker postgres上 这是我在Shell中执行我的普通命令的需求 如果我删除容器中的那行,它可以工作,但是我必须自己执行安装,并且我必须告诉项目中的每个人都这样做,这不是一个好习惯 这是我的 这是我的码头工人文件 构建后,我无法运行它 题: 如何从dockerfile 安装? 我想制作图像并将其重新用于团队的整个项目 问题答案: 之所以失败是因为Postgres

  • 是否有可能在这个答案中提供等效的内容,但在TypeScript中? 对 Java 生成器类进行子类化 这是迄今为止我对基类的了解: 和扩展类: 正如另一个线程提到的,由于上下文的变化,我将无法按此顺序构建客户: 我目前正在尝试使用泛型来解决此问题,但是在为我的 setter 方法返回 this 指针时遇到问题(类型 this 不能分配给类型 T)。有什么想法吗?

  • 我想安装扩展,因为在我的容器中执行composer-install命令时出错: 系统中缺少请求的PHP扩展超文本传输协议*。安装或启用PHP的超文本传输协议扩展。 我的Dockerfile: 我在我的。 我试过: 运行docker-php-ext-安装-j$(nproc)opachepdo_mysqlintl xml肥皂ext-超文本传输协议 我有一个错误: 步骤7/10:运行docker-php