【问题标题】:How to make images of Docker containers for Python, R and MongoDB work together如何使 Python、R 和 MongoDB 的 Docker 容器镜像协同工作
【发布时间】:2017-08-22 10:17:17
【问题描述】:

我为我的项目选择的堆栈是 Python、R 和 MongoDB。但是,我想为这个项目采用 Docker,但是当我在互联网上进行研究时,我几乎找到了使用 PHP 或 Wordpress 的 MySQL 示例。所以,我很想知道在哪里可以找到使用 Python、R 和 MongoDB 的容器的教程或示例,或者关于如何将它们组合在一起的任何想法。 Dockerfile 会是什么样子?特别是在我的项目中,用于数据处理和数据可视化的 R 也会从用于数据收集器的 Python 中调用,作为数据清洗的子模块。

任何帮助将不胜感激。

【问题讨论】:

  • 学习 docker compose docs.docker.com/compose
  • 您的 Python、R 和 MongoDB 可能都是单独的容器(因此您可以分别对它们进行版本/部署/扩展)。他们通过网络进行通信。 “链接”容器简化了这一点。您可以使用 docker-compose 来描述如何部署一组协同工作的服务:stackoverflow.com/questions/38358933/… 但老实说,docker-compose 对诸如“在我开始之前等待某个容器准备好”之类的事情没有多大帮助向它发送请求”;此逻辑必须是应用程序级别的或容器启动时的。

标签: python r mongodb docker shinydashboard


【解决方案1】:

选项 1: 将它们拆分为多个 docker 映像,并使用 YAML 中的 docker-compose 运行它们,这样可以更轻松地设置它们。

您可能已经为这些服务中的每一个提供了一个映像,您只需使用 docker volumes 向它们添加一些代码即可。只需在Docker Hub 寻找他们。 与退出 Python Image 一起使用的示例已在其描述中。它甚至展示了如何使用每个镜像所需的 Dockerfile 创建自己的 Docker 镜像。

选项 2: 您可以使用不太具体的映像(例如 debian/ubuntu)仅构建一个映像,在其中安装所有解释器、库和其他要求,然后创建一个 ENTRYPOINT 它将调用一个脚本,该脚本将运行每个服务并保持打开以避免容器最终确定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多