我们的生产/暂存 docker 镜像构建从我们的存储库中提取最新代码,然后安装所有必需的依赖项,这个过程需要一段时间。
这就是为什么在开发中我们使用卷将应用程序代码映射到本地文件夹。
有没有办法将映射卷中的本地更改提交到实际的图像数据存储?这样我们就不必一直重建它?
能够放置您的代码并标记该 docker 图像是人们使用它的目的。您不应该在生产中的运行时部署代码。相反,您应该构建图像并根据版本标记它们。
您想知道生产中正在运行什么,并且还希望能够回滚到以前的版本。
现在回到重建代码部分。有多种方法可以缩短构建时间
创建基础镜像
您可以创建基本图像,然后将代码放在该基本图像之上。此基础映像将包含您所需的软件(Node 等)。在您的 Dockerfile 中,您只需复制代码。
使用标签 URL 代替 Git Checkout
您可以将特定分支/标签下载为 zip 文件而不是整个存储库并解压缩。我有时看到 Git 存储库是 100MB,而代码只有 4-5 MB。这可以节省您的时间
使用多阶段构建
多阶段构建不会节省您的构建时间,但会节省您的图像大小。这仅在您部署大量容器时才需要
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句