首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在生产中将数据库的码头容器放在不同的主机上?

如何在生产中将数据库的码头容器放在不同的主机上?
EN

Stack Overflow用户
提问于 2016-06-04 10:52:34
回答 1查看 661关注 0票数 3

假设我们有一个简单的web应用程序栈,类似于docker-compse文档中描述的那样。它的docker-compose.yml如下所示:

代码语言:javascript
复制
version: '2'
services:
  db:
    image: postgres
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

这对笔记本电脑的开发很有帮助。但是,在生产中,要求db容器位于它自己的主机上是有用的。我可以找到使用docker-swarm扩展web容器的教程,但是没有注意db实例和web实例运行在同一台机器上的事实。

是否可以使用docker要求特定的容器在自己的机器上(或者更好的是在特定的机器上)?如果是这样的话,是怎么做的?如果不是,在多容器应用程序中处理数据库的对接方式是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-05 03:27:08

在我看来,数据库处于容器世界的边缘,它们对于开发和测试很有用,但是生产数据库通常不是非常短暂的或可移植的东西。絮凝器当然和可伸缩类型的数据库(如Cassandra )一样有帮助,但是数据库可能有非常具体的需求,这些需求可能会更好地作为一个位于您的容器应用程序(RDS云SQL等)后面的服务来对待。

在任何情况下,您都需要一个容器编排工具。

您可以应用人工调度约束来编写+群集,以指定容器可以在其上运行的对接主机。对于数据库,您可能有:

代码语言:javascript
复制
environment:
  - "constraint:storage==ssd"

否则,可以使用可抗厨师木偶设置更静态的Docker环境。

使用另一个支持docker的编排工具:库伯内斯梅索斯游牧民族

使用容器服务:亚马逊ECS码头云/输卵管

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37629315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档