码头工作者的新手,我正试图学习最佳实践。
以下是我的情况:我有一个基于yeoman generator-angular的网站。
我想创建一个Dockerfile(放在我的项目中),它基本上会执行以下操作:
似乎nodejs和nginx基础图像都处理了很多东西(我不想从他们的Dockerfile中复制/粘贴),并且值得继承。实际上,我想尊重官方的nginx安装逻辑,并且还希望保留nodejs关于buildpack-deps和stuff的官方图像继承。
问题是:
如何在不必复制粘贴其内容的情况下利用两个基本图像?
答案 0 :(得分:2)
Docker的基本前提是每个容器只完成一项工作。因此,在您的情况下,您将部署nodejs容器来构建(并运行)项目。然后,您将创建一个连接到它的nginx容器(通过网络或docker卷),然后将该数据提供给网络。
这使您可以更新解决方案的每个单一方面,因为您不会对任何其他组件产生任何影响。
要回答你的实际问题,我不认为除了手工将两者合并在一起之外还有其他办法。
网上有很多nodejs / nginx / docker教程贯穿整个过程。