在Artifactory中设置Alpine镜像,以保持从官方存储库中删除的软件包可用



我使用Artifactory作为docker注册表。我有一些基于Alpine Linux及其软件包的docker映像。

我在这些映像中固定了我安装的每个Alpine包的确切版本,因为:

  • 我想要可重复构建
  • 我不希望在这些图像中运行的应用程序因为在"幕后"安装的新版本的软件包中的回归而突然中断。当构建映像

我发现Artifactory提供了Alpine存储库。

通过设置一个Alpine虚拟存储库,其中包含一个指向官方Alpine镜像的Alpine远程存储库, Artifactory应该定义一个远程缓存,该缓存应该存储我从映像中安装的Alpine包。

之后,我可以配置我的基于alpine的docker映像,以使用Artifactory拥有的alpine包存储库。

这样,如果我之前在构建映像时安装的包从官方Alpine存储库中删除,我应该仍然能够构建映像,因为它将从Artifactory中的Alpine远程缓存解析该包。

此外,有人知道是否有可能备份远程缓存吗?

您需要将缓存存储在Artifactory中的某个地方,以便如果在官方的Alpine repo中删除了某些文件,您仍然可以通过Artifactory使用它。为此,我建议将文件从缓存复制到Alpine本地存储库,您可以使用createcopy用户插件自动从缓存复制到本地存储库,并将本地和远程集成到同一个虚拟存储库中。

最新更新