在Heroku上设置多阶段Docker构建

时间:2018-03-21 03:02:31

标签: docker github heroku dockerfile spacy

[编辑:看起来我的具体问题是如何将多阶段Docker构建推送到Heroku]

我正在尝试使用spacy-api-docker Github存储库设置NLP服务器。

项目README列出了一个没有包含语言模型的基本图像(jgontrum / spacyapi:base_v2)以及我正在寻找的英语模型图像(jgontrum / spacyapi:en_v2)。

当我拉动并运行英语语言映像时,localhost API工作正常,但是当我尝试从克隆的Github存储库构建映像时,主Dockerfile似乎只构建基本模型(这是无用的),当我按照this heroku docker documentationthis other third party tutorial中列出的步骤将容器推送到Github它似乎只使用基础Dockerfile - 我可以运行api但是没有模型它没用。

存储库在子文件夹中还有一堆较短的特定于语言的Dockerfiles,我猜这需要以某种方式指定?无论如何,在主Dockerfile无效后,只需坚持使用英文Dockerfile。

我的猜测是我可能要:

  • 一个。弄清楚如何将图像从Docker中心推送到Heroku而不用 一个存储库(唯一一个完全可以工作的图像 直接来自码头)
  • 湾弄清楚如何从一个存储库创建一个存储库 拉出图像,然后我可以用Heroku制作一个Heroku项目 创建
  • ℃。弄清楚如何在构建时指定:en_v2部分 来自存储库的Heroku(是Docker标签吗?以某种方式做到了 指定使用哪个额外的Dockerfile?)
  • d。研究多阶段Docker构建

我是编程的新手,现在已经反对这个了一段时间,所以非常感谢任何指针(请原谅我用得不好的任何条款,我的词汇对于这个东西非常基本)。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您想了解如何设置多级构建以及如何构建,我可以帮助您展示示例代码。

我也在Docker上使用多级构建,因为这个系统需要几个容器,只显示相关的源代码,如下所示。

我没有仔细阅读,所以如果我错过了这一点,请忽略我。