artifactory - 在 Artifactory 中设置 Alpine 镜像以保持从官方存储库中删除的软件包可用
问题描述
我正在使用 Artifactory 作为 docker 注册表。我有一些基于 Alpine Linux 及其软件包的 docker 映像。
我在这些图像中固定了我安装的每个 Alpine 软件包的确切版本,因为:
- 我想要可重复的构建
- 我不希望在这些映像中运行的应用程序突然中断,因为在构建映像时安装在“幕后”的较新版本的包中出现回归
我发现Artifactory 提供了 Alpine存储库。
通过设置一个包含指向官方 Alpine 镜像的Alpine 远程存储库的 Alpine 虚拟存储库,Artifactory 应该定义一个远程缓存,该缓存应该存储我从图像中安装的 Alpine 包。
之后,我可以配置我的基于 Alpine 的 docker 映像以使用 Artifactory 具有 alpine 包存储库。
这样,如果我之前在构建映像时安装的包从官方 Alpine 存储库中删除,我应该仍然能够构建映像,因为它会从 Artifactory 中的 alpine 远程缓存中解析包。
是否有人在他们的组织中使用此设置?
此外,有谁知道是否可以备份远程缓存?
非常感谢
解决方案
所以基本上你需要将缓存存储在 Artifactory 的某个地方,这样如果在官方 Alpine 存储库中删除了一些文件,你仍然可以通过 Artifactory 使用它吗?为此,我建议将文件从缓存复制到 Alpine 本地存储库,您可以使用createcopy用户插件通过从缓存复制到本地存储库来自动执行这些操作,并将本地和远程集成到相同的虚拟存储库。
推荐阅读
- android - google play 控制台如何正确填写权限声明表?
- algorithm - 用孔捕获雨水 ii (LeetCode) (0)
- html - html 视频标签全屏控制在 Chrome 中无法正常工作
- sql - Oracle查询以根据另一列值选择不同的值
- c# - 与 jquery 中继器绑定的 asp.net core mvc 模型
- html - 为什么服务器返回的 HTML 页面没有在浏览器中呈现
- python - 重复避免 ValueError
- python - 打印为 PDF 后无法阅读的文本
- airflow - 气流连接 UI 不可见
- vb.net - 从字符串“Label9”到类型“Double”的转换无效