代码之家  ›  专栏  ›  技术社区  ›  Rui

以微服务的精神从本地服务器连接到本地Mongodb Docker容器

  •  0
  • Rui  · 技术社区  · 7 年前

    我写了一个 数据 本地计算机上的Docker服务,主机名配置在 docker-compose.yml文件 有语法 container_name: mongodb ,然后本着微服务的精神,我开始了 RESTful API服务 在一个轻量级的嵌入式服务器上,比如 防波堤 ,也在本地。

    这个 问题 本地RESTful API服务不能使用定义的Mongodb容器名与Mongodb服务通信- mongodb -由于网络不同,在本地Docker容器上。

    问题:

    1. 这是一个好的实践吗?比如说,在嵌入式服务器上启动RESTful API服务,特别是在生产环境中,没有与Mongodb容器不同的Docker容器?
    2. 如果这是一个好的实践,那么如何配置以使本地嵌入式服务器上的RESTful API能够访问本地Docker容器上的Mongodb?
    1 回复  |  直到 7 年前
        1
  •  0
  •   grapes    7 年前

    关于在中运行数据库 Docker -这真是太好了。你可能想上山 volumes 从您的主机配置数据库,以便在那里存储数据,一旦存储在容器中的数据并不总是方便的。配置通常由环境变量完成,传递给 docker 和配置文件,位于共享卷中。

    网络本身不应该是一个问题,有不同的网络模式,支持 码头工人 ,它允许您从主机进行通信。最简单的,但是 未推荐的 用于生产目的 --network=host . 这样可以防止 码头工人 从创建新的网络和容器共享 localhost . 这意味着您可以使用 本地服务器 作为主机名。

    为什么不推荐:因为这消除了通常由 码头工人 一旦所有本地主机网络在容器中可用。